array_slice() の落とし穴

Pocket

array_slice は配列の一部分を取り出すことができるため、
かなり使う頻度が高いのですが、第4引数の指定し忘れると
思わぬミスに繋がります。

$test = array(
  "a" => "red",
  "01" => "green",
  "20" => "blue"
);

print_r( array_slice($test,0,3));

配列に対して array_slice() を行った例です。
結果は次のようになります。

Array ( [a] => red [01] => green [0] => blue ) 

キー名「a」と「01」はそのまま残っていますが、
「20」は新しくキーが割り振られ、「0」になってしまいました。

これを防ぐには、array_slice() の第4引数に TRUE を指定します。

array_slice($test, 0, 3, true)

マニュアルにも乗っていることですが、連想配列であっても
つけ忘れないように心がけようと思います。


Similar Posts:




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です