2022年2月19日(土曜日)
PHP の array_shift と array_pop のエラーで悩む
Category: 開発業務 | Posted By ackie at 23:59:04WordPress の処理をしていたら
やたらめったらエラーが出てる…
というわけで今日は一日デバッグしてました。
ってかデフォルトでもエラー出てるやんけ!
今まであまり意識していなかったのですが、
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 );
こんな感じにするとエラーは出ません。
ま、たしかに入れ子入れ子もどうかとは思いますが…
変数だけってきつくない?