① php function 怎麼用
用戶自定義函數也稱自定義函數,它們不是PHP提供的,是由程序員創建的.由於自己創建了這樣的函數,所以就可以完全控制這些函數.因此可以讓一個函數完全按照自己希望的方式運行
1,申明函數
在PHP中,定義函數的方法同其他編程語言幾乎一樣.下面是PHP申明函數的語法結構:
復制代碼代碼如下:
Function function_name($argument1,$argument2,$argument3,......$argumentn)
{
//函數代碼code
Return 返回值;
}
以上語法結構中,關鍵字的含義如下.
(1)function:用於申明用戶自定義函數的關鍵字.
(2)function_name:要創建的函數名稱.該名稱將在以後被調用時使用.函數名應該唯一,因為PHP不支持重載.在命名函數的時候,需要遵循和變數命名
相同的原則.但是函數名不能以$開頭,而變數可以.
(3)argument:要傳遞給函數的值.函數可以有多個參數,它們之間用逗號.但是參數項是可選的,可以在調用函數的時候不傳遞任何參數.
(4)code:是在函數被調用的時候執行的一段代碼.如果有兩條或者多條語句,則代碼必須用大括弧"{}"括起來.但是,如果只有一條代碼,則不需要大括弧.
(5)Return:將調用的代碼需要的值返回.任何類型都可以返回,包括列表和對象.這導致函數立即結束它的運行,並且將控制權傳遞回它被調用的行.
2,無參數函數
代碼func_1.php
復制代碼代碼如下:
<?php
require 'a.php';
echo "我不會被執行!";
?>
3,有參數函數
PHP支持按值傳遞參數(默認),通過引用傳遞和默認參數值.可變長度參數列表僅在PHP4和後繼版本中被支持.
(1)值傳遞參數.按值進行參數傳遞是PHP的默認傳遞方式.使用這個方法,必須在主程序調用時傳遞一個值(參數).
代碼sum.php
復制代碼代碼如下:
<?php
function sum ($a,$b)
{
Echo $a+$b;
}
sum(100,20); //開始調用該函數
?>
(2)引用參數.在按照值傳遞的時候,只有參數的副本傳遞給被調用的函數.但是在被調用函數內部對這些值的任何修改,都不會影響調用函數
中的原始值.引用傳遞其實也就是地址傳遞,將一個變數的地址作為參數傳遞.
代碼valuechange.php
復制代碼代碼如下:
<?php
$myNum=100;
function Valuechange ($number)
{
$number=$number+1;
Echo $number . "<br>";
}
Valuechange($myNum);
Echo $myNum;
?>
(3)默認值參數.使用默認的參數值傳遞方法,函數必須在調用的時候有一個參數.如果沒有使用的值,就把默認值傳遞給函數參數.默認值必須是常量表達式,不是變數,
類成員或者函數調用.
提示:當使用默認參數時,任何默認參數必須放在非默認參數的右側;否則,可能函數不會按照預期的情況工作.
代碼func_default.php
復制代碼代碼如下:
<?php
$myNum=100;
function Valuechange ($number)
{
$number=$number+1;
Echo $number . "<br>";
}
Valuechange($myNum);
Echo $myNum;
?>
② php如何調用外部php文件中的函數
在實驗的時候發現是可以的,代碼如下
<?php
function func(){ echo "I'm a external function <br />"; }
class Test {
function doExternalFunction($_externalFunc, $_param){
func();
$_externalFunc($_param);
}
}
function sayHello($_param){
echo "hello, $_param";
};
$name = "HanMeiMei";
$test = new Test();
$test->doExternalFunction("sayHello", $name);
?>
在調用Test類實例的doExternalFunction()方法時,外部的func()方法是可以運行的,因為它是全局的。但是建議不要這樣使用,
因為Test::doExternalFunction()對func()函數有依賴,當項目比較大時,而func()和Test類沒有同時引入到一個文件中來,會引
起錯誤。比較理想的情況是,使用回調函數的形式來調用外部函數,就像執行在Test::doExternalFunction()執行sayHello()一樣
③ php生成隨機數,1-15之間,2出現的概率是80% 然後其它數字出現的概率是10%
$rand = 0; // 定義叢陸rank隨機變數
if(mt_rand(1,100) <= 80) { // 控制2出現的概率為80%
$rand = 2;
} else { // 剩餘數字的概率為20%
$rand = mt_rand(2,15); // 排除掉2號位置,用1去補2號缺鄭慎位
if($rand == 2) { // 當隨機到2號位,則用1去補2號
伏敬$rand = 1;
}
}
echo $rand; // 輸出結果
http://w3school.com.cn/php/func_math_mt_srand.asp
④ PHP 怎麼才能判斷某常量是否有值(被賦值了)或者怎樣才能捕獲某常量是未定義的謝謝。
這個肯定是用defined函數嘛
我舉例說明:
<?php
define("BASEURL","www.imrubber.com");
echo defined("BASEURL"); //這里輸出橡豎應該是 1
?>
再羅說一句:
defined() 函數檢查某常腔兆量是否梁圓大存在,若常量存在,則返回 true,否則返回 false。
這樣是基本的語法問題,建議樓主多看看手冊,沒有手冊,就直接找我吧,我發一份給你,免費的哦,哈哈!
⑤ php中getcache的用法
PHP的getcache是 讀取緩存文件的函數
比如常見的當前站點類別,是保存在緩存文件中的,讀取的時候用:
$this->categorys=getcache(『category_content_』.$this->siteid,』commons』);
具體實例:
<?php
$iterator=newArrayIterator(array(1,2,3));
$cache=newCachingIterator($iterator,CachingIterator::FULL_CACHE);
$cache->next();
$cache->next();
var_mp($cache->getCache());
$cache->next();
var_mp($cache->getCache());
?>
以上例謹沒程會輸出:
array(2) {⑥ 請問php如何定時在每天0:00:00執行特定代碼,不通過計劃任務,比如放時間為0:00:00後自
linux下可以 crontab執行如(crontab -e編輯,crontab -l查看)
0 1 * * * php test.php #每天01:00執行一次test.php
*/5 * * * * php test.php #每5分鍾肢戚執行一次test.php
php自身實現悶飢絕:可sleep實現
<?php
function func()
{
//實現要做的事
}
while(true)
{
sleep($n);//$n為秒數
func();
}
?>螞姿
⑦ PHP 怎麼在一個方法中去得到另一個方法中的變數
通鎮盯過類的屬性不行嗎?
比如:
<?php
classdemo{
public$var1=null;
publicfunctionfunc1(){
$this->var1='fromfunc1';
}
publicfunctionfunc2(){
行兆echo$this->var1;
}
}
$demo=new御帶和demo();
$demo->func1();
$demo->func2();
⑧ 求助PHP如何自定義一個不確定參數個數的函
http://www.php.net/manual/zh/functions.arguments.php
<?php
//SincePHP5.6
functionsum(...$numbers){
$acc=0;
foreach($numbersas$n){
$acc+=$n;
}
return$acc;
}
echosum(1,2,3,4);
?>
http://php.net/manual/zh/function.func-get-args.php
<?php
//UntilPHP5.5
functionfoo()
{
$numargs=func_num_args();
echo"Numberofarguments:$numargs<br/> ";
if($numargs>=2){
echo"Secondargumentis:"褲答.func_get_arg(1)."<br/> ";
}
$arg_list=func_get_args();
for($i=0;$i<$numargs;$i++){
echo胡和慧"Argument$iis:".$arg_list[$i]."<br/> ";
棚納}
}
foo(1,2,3);
?>