以下みたいなコードを書いていて
$values = [
'a'=>null,
'b'=>'abc',
];
foreach($values as $key => &$value)
{ // 単純にコードがおかしいのだが、二週目にエラーなので気付かず
$value[$key] = strtoupper($value);
// ホントはこう書きたかったのだ
// $value = strtoupper($value);
}
以下のような地雷を踏んで久々に笑顔になりました。
$ng = 1;
$ng['abc'] = 2; // PHP Warning: Cannot use a scalar value as an array
$ok = null;
$ok['abc'] = 2; // => ['abc'=>'2']
「NULLは配列!」「なにいってるんだお前は」
なるほど〜😀
ところで最近は以下みたいな記述ができるようになったのですが、これもいつかは踏みそうだなとおもっています。
echo "abc"[2];
// => c
こちらからは以上です。