×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
今回はPHPのプログラムを組んでいて、 関数array_keysを利用して配列のキーの中に、指定されたキーの存在チェックを行う為に 使っていたのですが、指定されたキーが無かった場合はどうなるのかなと思い、調べてみました。
PHPの公式のマニアルには以下の様な例が載っています。
<?php $array = array(0 => 100, "color" => "red"); print_r(array_keys($array)); $array = array("blue", "red", "green", "blue", "blue"); print_r(array_keys($array, "blue")); $array = array("color" => array("blue", "red", "green"), "size" => array("small", "medium", "large")); print_r(array_keys($array)); ?>
これを実行すると以下の様になります。
Array ( [0] => 0 [1] => color ) Array ( [0] => 0 [1] => 3 [2] => 4 ) Array ( [0] => color [1] => size )
確かにこれで例としては問題無いのですが、結果としてキー値が返るものしか載っていません。 まあ、該当しないキー値を指定した場合は自分で調べればいいのですが。 そこで、2番目の例で、キーが存在しない yellow でやってみました。
<?php $array = array("blue", "red", "green", "blue", "blue"); print_r(array_keys($array, "yellow")); ?>
この結果は、以下の様になります。
Array ( )
結果としては、空のarrayが返ります。 この結果に対して、count()を取ってやれば、0となります。 また、foreachで処理しても結果の配列は空なので、以下の様に処理されないことになります。
<?php $array = array("blue", "red", "green", "blue", "blue"); /* array_keys:配列内にデータが存在 */ foreach (array_keys($array, "blue") as $arrValue) { echo "KEY=".$arrValue."\n"; } /* array_keys:空の配列が返る */ foreach (array_keys($array, "yellow") as $arrValue) { echo "KEY=".$arrValue."\n"; } ?>
PHPのマニアルも空の配列の例が載っていると助かるのですが・・・
PR
コメント