サイトアイコン パソコンサポートの00H ~社長BLOG~

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

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 );

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

モバイルバージョンを終了