ある特定の値が配列の中に含まれているかをチェックする際にarray_search()関数をよく使うのですが、
よくよく調べるとin_array()関数を使った方が良さそうとういうことに、
今更ながら気づきました。
array_search()関数は、
そもそも配列の中に特定の値が存在していればその配列のキー、存在していなければFALSEを返してくれるの対して、
in_array()関数は、
特定の値が存在していればTRUE、存在していなければFALSEを返してきます。
なので、
単純にある特定の値が配列の中に存在するかをチェックするだけであれば、
個人的にはin_array()関数の方が良さそうです。
因みに2つの関数の使い方はいうと、
■array_search()関数
<?php
$aryDat = array("test01", "test02", "test03");
if(!($ret = array_search("test03", $aryDat))){
echo "その値は配列の中に存在しません";
}else{
echo "その値は配列の中に存在します:返り値=>" . $ret;
}
?>
とすると、
「その値は配列の中に存在します:返り値=>2」
※配列のキーが帰ってくるので勿論返り値は「2」になりますね!!
■in_array()関数
<?php
$aryDat = array("test01", "test02", "test03");
if(!($ret = in_array("test03", $aryDat))){
echo "その値は配列の中に存在しません";
}else{
echo "その値は配列の中に存在します:返り値=>" . $ret;
}
?>
とすると、
「その値は配列の中に存在します:返り値=>1」
※FALSEが帰ってくるので、返り値は「1」になります。
この記事へのコメントはありません。