ホームページ > バックエンド開発 > PHPチュートリアル > php in_array function_PHP チュートリアルによって引き起こされる考え

php in_array function_PHP チュートリアルによって引き起こされる考え

WBOY
リリース: 2016-07-20 11:03:12
オリジナル
968 人が閲覧しました

今日、PHP の in_array 関数には奇妙な使用法があることに突然気づきました。必要な友人が簡単に参照できるように、この使用法を見てみましょう。 ​

コードは次のとおりです コードをコピー
$a=配列("1,2,3","4");

if(in_array(1,$a)){

echo "条件が成立しました";
}

この条件は確かに成立します。私の思考ロジックによれば、上記の条件はパラメータ1の値が「1、2、3」でその和が4の場合にのみ成立しますが、不思議なのは実際に成立することです。その後、Battlefield は次の状況をテストしました:

コードは次のとおりです コードをコピー
$a=array("a,2,3","4");

if(in_array('a',$a)){

echo "条件が満たされていません";

}

これは真ではありません。最初のテスト ケースでは、パラメーター 1 が「1」と書かれている場合、条件も真ではありません。バトルフィールドの結論:

PHP では、最初のパラメータが数値 (引用符で囲まれていない数値) で、2 番目の配列パラメータにその数値で始まる文字列が含まれている場合、最初のパラメータが 2 番目のパラメータの完全な要素であるかどうかは関係なく、true 値を返します。 。言い換えれば、in_array 関数は毎回私の思考ロジックに従って要素全体と一致しないのでしょうか、それともデータ型を十分に明確に理解していないのでしょうか?

同時に、Battlefield は、配列の最初の要素が 0 の場合にも問題が発生することを発見しました。次の状況を参照してください。

コードは次のとおりですコードをコピー
$a=配列(0,"m");

if(in_array('mc6',$a))
{
エコー「======;
」 }


http://www.bkjia.com/PHPjc/445324.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/445324.html技術記事今日、PHP の in_array 関数には奇妙な使用法があることに突然気づきました。必要な友人が簡単に参照できるように、この使用法を見てみましょう。 コードは次のとおりです コード $a=array... をコピーします
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート