php - 基礎(chǔ)知識2


1.? 字符串運算

字符串運算符只有? .(點) ?? 。它將兩個字符串連接起來,如:

$n = "3.1415926r*r";? $m = 1;? ? $nm =? $n.$m;? 結(jié)果為: "3.1415926r*r1"

$n = "3.1415926r*r";? $m = 1;? ? $nm =? $n+$m;? 結(jié)果為:3.1415926+1 = 4.1415926;

2. 恒等于不恒等

恒等為:“===” ; 不恒等為“!==”; 恒等為:不只數(shù)值需要相等,類型也需要相同。? 不恒等為:只要數(shù)值不相等或者類型不相同。

3. 錯誤控制運算符 @

? 它可以屏蔽掉一些報錯信息,而不影響輸出結(jié)果。

4. 調(diào)用函數(shù)

function foo($num){

return "$num=.$num"

}?

echo foo(10); 調(diào)用該函數(shù)并輸出;

5. 函數(shù)間傳遞參數(shù)

??? 在調(diào)用函數(shù)時,需要向函數(shù)傳遞參數(shù),被傳入的參數(shù)叫實參, 而函數(shù)定義的參數(shù)叫形參,參數(shù)傳遞的方式有:按值傳遞, 按引用傳遞和 默認參數(shù) 3種;

a.按值傳遞 如:

function metric($m) {? // 這里的$m即是形參

$m = $m *2 +100;

echo "函數(shù)內(nèi)的:\$m = ".$m;???? // 輸出:? 函數(shù)內(nèi)$m = 102;

}

$m = 1;

metric($m);??????

echo "函數(shù)外的\$m=".$m;???? // 輸出:函數(shù)外$m=1;

說明:按值傳遞在函數(shù)內(nèi)部對形參進行操作是不影響到外部的實參的值的。

b. 按引用傳遞方式(&):

按引用傳遞就是將實參的內(nèi)存地址傳遞給形參,那么此時實參和形參同時指向的是同一塊內(nèi)存地址,這時,在函數(shù)內(nèi)部的對形參的所有操作將會影響到實參的值,返回后,實參的值會發(fā)生變化。引用傳遞方式就是傳值時在原基礎(chǔ)上加 &。

如:

function foo(&$m) {

$m = $m*100;

return $m;

}

$n = 10;

echo foo($n);? // 輸出結(jié)果為: 1000

echo $n;? // 輸出結(jié)果為: 1000;

c. 默認傳值

?還有一種設(shè)置參數(shù)的方式,即可選參數(shù),可以指定某個參數(shù)為可選參數(shù),為了方便,將可選參數(shù)房子參數(shù)列表末尾,并且指定其默認值為空,即可以不寫;如:

解釋一下什么叫可選參數(shù):即可以給它傳值,也可以不給它傳值,根據(jù)實際需要來傳值,且一個函數(shù)中可以有多個可選參數(shù),當(dāng)然如果沒有給該可選參數(shù)設(shè)置默認值時,當(dāng)沒給它傳值,此時該變量值默認就為0; 若給可選參數(shù)設(shè)置了默認值,則當(dāng)沒給該可選參數(shù)傳遞值時,該可選參數(shù)值就是設(shè)置的數(shù)值。

例1:

function foo($num,$tax="") { // 此時的變量$tax即是可選參數(shù)默認值為0

? $num = $num * $tax +100;

? echo $num; // 100*0 + 100 = 100

}

foo(100); // 調(diào)用了foo()函數(shù),但沒有給可選參數(shù)賦值

例2:

function foo($num,$tax="0.25") { // 此時的變量$tax即是可選參數(shù)默認值為0.25

$num = $num * $tax +100;

echo $num; // 100*0.25 + 100 = 125

}

foo(100);// 調(diào)用了foo()函數(shù),沒有給可選參數(shù)賦值

例3:

function foo($num,$tax="") { // 此時的變量$tax即是可選參數(shù)默認值為0

$num = $num * $tax +100;

echo $num; // 100*0.5 + 100 = 150

}

foo(100,0.5);// 調(diào)用了foo()函數(shù),給可選參數(shù)賦值

6.? 變量函數(shù)

php支持變量函數(shù)的概念。這意味著如果一個變量后面有圓括號,php就會尋找與變量的值(注意:是變量的值)同名的函數(shù),并且會嘗試去執(zhí)行它。這個可以被用于實現(xiàn)回調(diào)函數(shù),函數(shù)表等等。

變量函數(shù)不能用于語言結(jié)構(gòu),也就是說系統(tǒng)碰到語言結(jié)構(gòu)的是不會實現(xiàn)以上說的。語言結(jié)構(gòu)如:echo(),print(), unset() , empty(),include(),require()等 。

舉個變量函數(shù)例子:

function test()? {

?? echo "變量函數(shù)";

}

$a = 'test';

$a('test');

7.? 對函數(shù)的引用

? 引用不僅可以用于普通的變量,函數(shù)參數(shù),也可用于函數(shù)本身。

function &foo(){? ? ??

static? $num = 0;??

$num ++;??

return $num;

}

echo foo(); // 結(jié)果:1

$n = foo();

echo $n.'<br>';? // 結(jié)果 2

$n = &foo();? ? // 此時變量$n 引用了函數(shù)foo(),即$n 指向了函數(shù)的內(nèi)存地址,即$n就等于了return的變量值也就是$n = $num。

$n = 6;? ? // $n=$num=6;??

echo foo(); // 結(jié)果7

能引用也也就能取消引用,使用unset()函數(shù),例如:unset($n);就能取消$n 對函數(shù)foo()的引用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 個人學(xué)習(xí)批處理的初衷來源于實際工作;在某個迭代版本有個BS(安卓手游模擬器)大需求,從而在測試過程中就重復(fù)涉及到...
    Luckykailiu閱讀 4,985評論 0 11
  • 1.性能優(yōu)化,重寫了zend 引擎。像facebook (HHVM) 為了提升PHP6的效率,在php 7在wor...
    雷一凡閱讀 211評論 0 0
  • 定義和調(diào)用函數(shù): 概念:將一些重復(fù)使用到的功能寫在一個獨立的代碼塊中,在需要時單獨調(diào)用(封裝方法)。語法格式: ...
    nothing_c閱讀 341評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139
  • 幾乎所有的新生兒都會出現(xiàn)脫皮的現(xiàn)象,為什么會有這樣的一個過程呢?這和寶寶在媽媽肚子里的生長環(huán)境有關(guān)系的。我們知道,...
    百安育兒閱讀 440評論 0 0

友情鏈接更多精彩內(nèi)容