この質問は、配列内の特定の文字列を検索しようとしていません。文字列が配列に存在するかどうかを調べる最も簡単な方法を知りたい。例:PHP配列に非特定の文字列が含まれていないか確認してください。
[1,2,3] // this does NOT contain a string
[1,'two',3] // this DOES contain a string
私は考えることができる最善の方法は、すべての配列項目をループしてIS_STRINGを実行している()は、このようにそれらのそれぞれに。
$array = [1,'two',3];
$hasString = false;
foreach($array as $item){
if (is_string($item)){
$hasString = true;
}
}
これはうまくいくものの、不器用な感じです。このような配列をループする必要がない、またはこれが得られるほど良い方法はありますか?
文字列が見つかるまで要素ごとにチェックするか、配列に文字列があるかどうかを確認する必要があります。したがって、あなたが変更できる唯一のことは、文字列を見つけたらコード内のループを「中断」して、できるだけ早く停止できることです。 – Rizier123
array_walkしかし、それは本当に最後に同じです。 –
"またはこれが得意です" - 'break'が使用され、配列の値が多ければ十分です – RomanPerekhrest