今日インターフェースを作成するとき、多数の基本情報パラメーターを渡す必要があります。パラメーターには、検証の便宜上、int と string の 2 つのタイプがあります。 in_array(0 , $param) を使用して int パラメータが 0 であるかどうかを判断し、次に string パラメータが空であるかどうかを個別に判断します。 サンプルコードは次のとおりです。正しいパラメータが渡されると、パラメータが正しくないというプロンプトが返されることがわかりました。 ! !
理由
この状況はまさに in_array が問題を引き起こしているために発生します。 in_array(search,array) は配列内の各値を search と比較することと同じです。 $param array には int パラメータもあります。文字列パラメーター。これは、PHP の暗黙の変換規則と同等です。
if(in_array(0, $param) || $param['img'] == '') { $this->errorCode = 10030; $this->errorMessage = '参数不正确'; return false; }
Solution
in_array は 3 番目のパラメーター true を追加します。これは、検索されたデータの型と配列の値が同じであるかどうかを確認するために使用されます。そのため、この関数は、要素が配列内に存在します データ型が指定された値と同じである場合にのみ true を返します
上記で説明したビジネスの場合、より厳密にして、int データを配列に格納し、文字列を配列に格納し、データ調整を実行することができますこのようにして、異なる型の 2 つの配列で上記の問題は発生しません
JavaScript での暗黙的な変換の例と概要について
暗黙的な変換を使用するにはどうすればよいですか?暗黙的変換例の使い方をまとめます
以上がPHPにおけるin_arrayの暗黙的な変換例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。