エプソンダイレクト株式会社
Home > 2022年2月19日(土曜日)

2022年2月19日(土曜日)

PHP の array_shift と array_pop のエラーで悩む

Category: 開発業務 | Posted By at 23:59:04

WordPress の処理をしていたら
やたらめったらエラーが出てる…
というわけで今日は一日デバッグしてました。
ってかデフォルトでもエラー出てるやんけ!

今まであまり意識していなかったのですが、
array_shift() と array_pop() の引数って
変数(配列)じゃないとダメなんですね。

例えば…

$x = array( 0, 1, 2, 3, 4, 5 );

みたいな配列があったとして

$a = array_shift( $x );

ではもちろんエラーは出ませんが、

$a = array_shift( array_reverse( $x ) );

このように式を入れると

Notice: Only variables should be passed by reference in xxx.php on line xx

のようなエラーが出ます。

今までガンガン入れてたよ~。

ちなみに対策としては

$x = array_reverse( $x );
$a = array_shift( $x );

こんな感じにするとエラーは出ません。
ま、たしかに入れ子入れ子もどうかとは思いますが…
変数だけってきつくない?

HP Directplus -HP公式オンラインストア- デル株式会社 東芝ダイレクト 富士通パソコンFMVの直販サイト富士通 WEB MART ソフマップ・ドットコム