今日、PHP の in_array 関数の使い方がおかしいと思いました。必要な方は簡単に参照してみましょう。コードは次のとおりです。
$a=array("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 関数が常に続くわけではありません。私の思考ロジックは要素全体と一致していますか? それともデータ型を十分に理解していませんか? 同時に、配列の最初の要素が 0 の場合にも問題が発生することもわかりました。次の状況を参照してください。コードは次のとおりです。 $a=array(0, "m") ; if(in_array('mc6',$a)) { echo "=====" }// オープンソースコード phpfensi.com