第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

嚴(yán)格標(biāo)準(zhǔn):只有變量才能通過引用傳遞。

嚴(yán)格標(biāo)準(zhǔn):只有變量才能通過引用傳遞。

PHP
慕妹3146593 2019-06-01 16:28:30
嚴(yán)格標(biāo)準(zhǔn):只有變量才能通過引用傳遞。$el = array_shift($instance->find(..))上面的代碼以某種方式報(bào)告了嚴(yán)格的標(biāo)準(zhǔn)警告,但這不會(huì):function get_arr(){     return array(1,2);}$el = array_shift(get_arr());那么,它什么時(shí)候會(huì)報(bào)告警告呢?
查看完整描述

4 回答

?
斯蒂芬大帝

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊

考慮以下代碼:

error_reporting(E_STRICT);class test {
    function test_arr(&$a) {
        var_dump($a);   
    }
    function get_arr() {
        return array(1,2);  
    }}$t= new test;$t->test_arr($t->get_arr());

這將產(chǎn)生以下輸出:

Strict Standards: Only variables should be passed by reference in `test.php` on line 14array(2) {
  [0]=>
  int(1)
  [1]=>
  int(2)}

原因是什么?這個(gè)test::get_arr()方法不是變量,在嚴(yán)格模式下,這將生成警告。此行為非常不直觀,因?yàn)?/trans>get_arr()方法回報(bào)數(shù)組值。

要在嚴(yán)格模式下避免此錯(cuò)誤,要么更改方法的簽名,使其不使用引用:

function test_arr($a) {
    var_dump($a);  }

因?yàn)槟荒芨?/trans>array_shift還可以使用中間變量:

$inter= get_arr();$el= array_shift($inter);


查看完整回答
反對(duì) 回復(fù) 2019-06-01
?
慕工程0101907

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊

$instance->find()返回對(duì)變量的引用。

當(dāng)您試圖將此引用用作函數(shù)的參數(shù)時(shí),您將得到報(bào)告,而不首先將其存儲(chǔ)在變量處。

這有助于防止內(nèi)存泄漏,并可能成為下一個(gè)PHP版本中的錯(cuò)誤。

如果您的第2段代碼寫得類似(注意&in函數(shù)簽名),則會(huì)拋出錯(cuò)誤:

function &get_arr(){
    return array(1,2);}$el = array_shift(get_arr());

因此,一個(gè)快速(也不是很好)的修復(fù)方法是:

$el = array_shift($tmp = $instance->find(..));

基本上,首先對(duì)臨時(shí)變量執(zhí)行賦值,然后將變量作為參數(shù)發(fā)送。


查看完整回答
反對(duì) 回復(fù) 2019-06-01
?
慕桂英4014372

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊

第二個(gè)片段也不起作用,這就是原因。array_shift是一個(gè)修飾符函數(shù),它改變了它的參數(shù),因此它期望它的參數(shù)是一個(gè)引用,并且您不能引用不是變量的東西。見Rasmus在此的解釋:嚴(yán)格的標(biāo)準(zhǔn):只有變量才能通過引用。


查看完整回答
反對(duì) 回復(fù) 2019-06-01
  • 4 回答
  • 0 關(guān)注
  • 569 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)