ホームページ  >  記事  >  バックエンド開発  >  配列検索で大文字と小文字を区別しないようにするにはどうすればよいですか?

配列検索で大文字と小文字を区別しないようにするにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-06-13 13:26:151153ブラウズ

配列内で検索するときに大文字と小文字を区別しないようにするにはどうすればよいですか?
次の 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 を自分で調べてください。将来、何百、何千もの基本的な質問に遭遇するでしょう。すべてに質問しますか?
------解決策---------

話し合う
引用:

needle が文字列の場合、比較では大文字と小文字が区別されます。
3 番目のパラメータ strict の値が TRUE の場合、in_array() 関数は針の種類が干し草の山のものと同じかどうかもチェックします。

聞きたいのですが、どのような状況で in_array 関数が大文字と小文字を区別しないのでしょうか?
配列に変更しても、大文字と小文字は区別されます。
$dr=array('cc','Dd','Ee');
$vr=arr……


------解決策---------
自分で書いてください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));
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。