ホームページ  >  記事  >  バックエンド開発  >  PHPにおけるin_array暗黙的変換の実装手順の詳細な説明

PHPにおけるin_array暗黙的変換の実装手順の詳細な説明

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-18 14:11:271603ブラウズ

今回は、PHPでin_arrayの暗黙的な変換を実装する手順について詳しく説明します。PHPで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でjsonオブジェクトの値を出力する方法とは何ですか


Alibaba Cloud Win2016のインストールApacheとPHP環境チュートリアルの詳細な説明


加算と減算を生成するPHPの詳細な説明アルゴリズムのステップ

以上がPHPにおけるin_array暗黙的変換の実装手順の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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