ホームページ >バックエンド開発 >PHPチュートリアル >in_array の暗黙的な変換を使用する方法

in_array の暗黙的な変換を使用する方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-03-24 15:57:581596ブラウズ

今回はin_arrayの暗黙的変換の使い方と、in_arrayの暗黙的変換を使用する際の注意事項を紹介します。実際のケースを見てみましょう。

質問

今日インターフェースを書くときに、多数の基本情報パラメータを渡す必要があります。パラメータには、検証の便宜上、int と string の 2 つのタイプがあります。を配列に格納し、 in_array(0, $param) を使用して int パラメータが 0 であるかどうかを判断し、次に string パラメータが空であるかどうかを個別に判断します。 サンプルコードは次のとおりです。 -test では、正しいパラメーターが渡されると、間違ったパラメーターが返されることがわかりました。 ! !

理由

この状況はまさに in_array が問題を引き起こしているために発生します。 in_array(search,array) は配列内の各値を search と比較することと同じです。 $param array には int パラメータもあります。文字列パラメーター。これは、文字列と int の比較に相当します。PHP の暗黙の変換ルール:

非数値

String整数と比較すると、文字列は自動的に int(0) に変換されます次の例は、ステートメント:

      if(in_array(0, $param) || $param['img'] == '') {
        $this->errorCode = 10030;
        $this->errorMessage = '参数不正确';
        return false; 
      }

Solution

in_array は、

search

のデータが配列の値と同じ型であるかどうかをチェックするための 3 番目のパラメーター true を追加します。そのため、要素が存在する場合にのみ関数を使用できます。配列 True は、データ型が指定された値と同じである場合にのみ返されます上で紹介したビジネスの場合、より厳密にして、int 型データを配列に、文字列を配列に、そして 2 つのデータ型に格納することができます。上記の問題が発生しないように、さまざまな種類の配列を個別に検証します

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、PHP 中国語に関する他の関連記事に注目してください。 Webサイト!

推奨読書:

PHPの再帰関数の使い方


天猫と淘宝商品のデータクローリング


PHPでのLaravelパスワードリセットの実装

以上がin_array の暗黙的な変換を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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