2015年3月6日 星期五

[PHP]Error: Only variables should be passed by reference

  Strict Standards: Only variables should be passed by reference in '\pach\filename.php' on line NNN .

第NNN行:$price = array_shift(get_product_price($product_key));



這是PHP 5.4以上版本的問題,應該也和配置有關,只要把第NNN行這一句拆成兩句就沒有問題了,改成:
$product_price = get_product_price($product_key);
$price = array_shift($product_price);

※ 因為array_shift的參數是引用傳遞的,5.3 以上默認只能傳遞具體的變量,而不能通過函數返回值。


有相同狀況的函數還有:

  • array_pop -將陣列最後一個元素彈出


參考資料:
  半吊子的生活日誌
  http://blog.sarabande.jp/post/24003654486

沒有留言:

張貼留言