❶ php 定義函數function($a=''){...},這個=''是啥意思
這個等於號後面接的是這個參數的默認值。
function myfun($a='abc'){...}
這樣,當你調用這個函數時,如果沒有傳參,即
myfun()
這時函數里的$a的值是abc
如果有傳參則替換默認值
myfun(「efg」)
這時函數里的$a的值就是efg了
❷ php中函數定義的問題
問題1,不好說明白,你可以把它想像為一個函數,只是這個函數放在這個對象裡面看著比較舒服。靜態的方法不用new對象,可以像使用函數一樣用它。
問題2,沒區別,不寫就是public
❸ 關於php自定義函數
這個要根據實際情況,需要返回值的話,你可以加return,不需要的話,你可以不加,兩者的區別一是在於實際需求不同,二是在於加了return的話,程序運行的響應時間上會稍稍的長一點點,不過,這點時間一般不會有什麼影響。比如:
你要輸出一個字元串:
function type_str(){
print("123");
}
這樣的話,可以,但是如果你要判斷是否輸出成功了,你就必須這么寫:
function type_str(){
if(print("123")){
return true;
}else return false;
}
你可以通過程序的返回值來判斷是否輸出成功。還有一些自定義函數處理後的結果也是需要返回的,就得用到return。比如:
function add($a , $b){
$sum = $a+$b;
return $sum;
}
函數運行結束後,函數內部定義的變數全部會被銷毀,所以,為了你處理的結果不會白白浪費掉,一定要將$sum 返回。
再告訴你一個小竅門:echo和print是不同的,echo不是一個函數,更沒有返回值,所以你不能寫
if(echo "123") ,但是 print是一個函數,它有返回值,成功則返回true,失敗則返回false,可以寫:if(print("123")); 之類的。所以print要比echo速度慢一點點,一般情況下用echo就行了。
❹ php自定義函數前加個&有什麼用
函數的引用
對於函數的引用,主要區別在於內存性能~
function &load_message 和 function load_message,第一個在使用的時候也要用 &load_message聲明為一個引用返回,而第二個只是將函數的結果賦值到一個變數中,該函數一般用於遞歸作用。至於引用,還是建議你自己寫幾個例子,測試一下。就明白了,只看字面意思總歸不如實踐的好,同時網上有很多關於php 引用的例子。可以參照一下。
順便說一下,在php的引用中,還有一種常用的形式
就是function gao(&$id) 和 function gao($id)
這種形式的引用,我們只需要對比一下結果就可以了。
function a(&$t){
$t .= 'xx';
}
function b($t){
$t .= 'yy';
}
$x = 'aa';
b($x);
echo $x; // 輸出 aa
a($x);
echo $x; // 輸出 aaxx
切記這里輸出的是$x不是b($x)或a($x).(不好意思借用了cosmicsts 的例子)
❺ 怎樣定義一個PHP的函數
定義PHP的函數很簡單啊:
/**
*注釋(函數說明)
*
*@param(參數介紹)
*
*@returnarray(返回值)
*@authorSphenginx
**/
functionmyFunction()//函數頭
{
//這里是函數體
}
❻ 什麼是PHP的函數
PHP 用戶定義函數
除了內建的 PHP 函數,我們可以創建我們自己的函數。
函數是可以在程序中重復使用的語句塊。
頁面載入時函數不會立即執行。
函數只有在被調用時才會執行。
在 PHP 創建用戶定義函數
用戶定義的函數聲明以關單 "function" 開頭:
語法
function functionName() {
被執行的代碼;
}
注釋:函數名能夠以字母或下劃線開頭(而非數字)。
注釋:函數名對大小寫不敏感。
提示:函數名應該能夠反映函數所執行的任務。
在下面的例子中,我們創建名為 "writeMsg()" 的函數。打開的花括弧({)指示函數代碼的開始,而關閉的花括弧(})指示函數的結束。此函數輸出 "Hello world!"。如需調用該函數,只要使用函數名即可:
<?php
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // 調用函數
?>
PHP 函數參數
可以通過參數向函數傳遞信息。參數類似變數。
參數被定義在函數名之後,括弧內部。您可以添加任意多參數,只要用逗號隔開即可。
下面的例子中的函數有一個參數($fname)。當調用 familyName() 函數時,我們同時要傳遞一個名字(例如 Bill),這樣會輸出不同的名字,但是姓氏相同:
<?php
function familyName($fname) {
echo "$fname Zhang.<br>";
}
familyName("Li");
familyName("Hong");
familyName("Tao");
familyName("Xiao Mei");
familyName("Jian");
?>
下面的例子中的函數有兩個參數($fname 和 $year):
<?php
function familyName($fname,$year) {
echo "$fname Zhang. Born in $year <br>";
}
familyName("Li","1975");
familyName("Hong","1978");
familyName("Tao","1983");
?>
PHP 默認參數值
下面的例子展示了如何使用默認參數。如果我們調用沒有參數的 setHeight() 函數,它的參數會取默認值:
<?php
function setHeight($minheight=50) {
echo "The height is : $minheight <br>";
}
setHeight(350);
setHeight(); // 將使用默認值 50
setHeight(135);
setHeight(80);
?>
PHP 函數 - 返回值
如需使函數返回值,請使用 return 語句:
<?php
function sum($x,$y) {
$z=$x+$y;
return $z;
}
echo "5 + 10 = " . sum(5,10) . "<br>";
echo "7 + 13 = " . sum(7,13) . "<br>";
echo "2 + 4 = " . sum(2,4);
?>
❼ php函數內定義函數
匿名函數
<?php
functiontest(){
$func=function(){
echo'test';
};
$func();
}
?>
❽ 在php中如何使用自定義函數庫
php語言中,使用function來聲明一個函數
如:用function聲明一個名稱為get_article_info的函數,函數的參數為$id
/***獲得指定的文章的詳細信息**@accessprivate*@paraminteger$id*@returnarray*/functionget_article_info($id){/*獲得文章的信息*/$sql="SELECTa.*,IFNULL(AVG(r.comment_rank),0)AScomment_rank"."FROM".$GLOBALS['ecs']->table('article')."ASa"."LEFTJOIN".$GLOBALS['ecs']->table('comment')."ASrONr.id_value=a.article_idANDcomment_type=1"."WHEREa.is_open=1ANDa.article_id='$id'GROUPBYa.article_id";$row=$GLOBALS['db']->getRow($sql);if($row!==false){$row['comment_rank']=ceil($row['comment_rank']);//用戶評論級別取整$row['add_time']=local_date($GLOBALS['_CFG']['date_format'],$row['add_time']);//修正添加時間顯示/*作者信息如果為空,則用網站名稱替換*/if(empty($row['author'])||$row['author']=='_SHOPHELP'){$row['author']=$GLOBALS['_CFG']['shop_name'];}}return$row;}
❾ php類中定義了一個函數,怎麼使用它
php類中定義的函數有幾種,
例如:
classA{
//公共方法
publicfunctiontest(){
//dosomething
}
//受保護的方法
protectedfunctiontest2(){
//dosomething
}
//靜態方法
staticfunctionst(){
//dosomething
}
//私有方法
privatefunctiontest3(){
//dosomething
}
//內部訪問
publicfunctionuse(){
//使用公共方法
$this->test();
//使用受保護方法
$this->test2();
//使用私有方法
$this->test3();
//使用靜態方法
self::st();
}
}
//外部調用方法:
$a=newA();
$a->test();//外部使用test,
//$a對象不能外部使用受保護方法和私有方法,受保護方法可以被繼承到,而私有方法不能被繼承。
A::st();//外部使用靜態方法
❿ 什麼是php自定義函數
就是這個函數是自己寫的,而不是系統或者所帶的庫給你的函數。
函數(function),名稱出自數學家李善蘭的著作《代數學》。之所以如此翻譯,他給出的原因是「凡此變數中函彼變數者,則此為彼之函數」,也即函數指一個量隨著另一個量的變化而變化,或者說一個量中包含另一個量。
函數的定義通常分為傳統定義和近代定義,函數的兩個定義本質是相同的,只是敘述概念的出發點不同,傳統定義是從運動變化的觀點出發,而近代定義是從集合、映射的觀點出發。