配列内で検索するときに大文字と小文字を区別しないようにするにはどうすればよいですか?
次の 2 つが見つからないのはなぜですか? マニュアルを読んだのですが、false を追加するとうまくいかないのはなぜですか?
PHP コード
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--><?php
$dr=array('cc','Dd','Ee');
if(in_array("dd",$dr,false)){
echo "aa";
}
if(array_search("dd",$dr,false)){
echo "aa";
}
?>
ログイン後にコピー
-----解決策---------------- - ---needle が文字列の場合、比較では大文字と小文字が区別されます。
3 番目のパラメータ strict の値が TRUE の場合、in_array() 関数は針のタイプが干し草の山のものと同じかどうかもチェックします。
------解決策---------in_array
オプション。このパラメータを true に設定すると、検索されたデータの型と配列の値が同じであるかどうかがチェックされます。
値の型が同じかどうかは大文字と小文字が区別されません
array_search
3 番目のパラメータ strict が true に指定されている場合、このパラメータは、データ型と値が一致している 対応する要素のキー名を返します。
も型と値であり、必要に応じて
1. 文字列比較関数を使用して
2.通常の
3. すべてを小文字に変換し、
....
を比較します。
------解決策----------------------
3 番目のパラメータはタイプを決定するもので、これも単に== ではなく === を使用してください。 。 それを横断する関数を要求します。
------解決策---------
このようなあなたは、php.net を自分で調べてください。将来、何百、何千もの基本的な質問に遭遇するでしょう。すべてに質問しますか?
------解決策---------
話し合う
------解決策---------
自分で書いてくださいPHP コード
$dr = array('cc','Dd','Ee');
if(in_iarray("dd",$dr,false)){
「ああ」をエコーします。
}
関数 in_iarray($needle, $haystack, $strict=false) {
if(! is_string($needle)) return in_array($needle, $haystack, $strict);
return in_array(strto lower($needle), array_map('strto lower', $haystack));