ホームページ  >  記事  >  バックエンド開発  >  関数パラメータ: true?

関数パラメータ: true?

WBOY
WBOYオリジナル
2016-06-23 14:23:531191ブラウズ

この投稿は u012362664 によって最終編集されました: 2013-10-09 20:35:48

<?     $x1=array(1=>111,2=>12,3=>3333);     $y1=in_array(12,$x1,true);     echo $y1;     echo "\r\n";          $x2=array(1=>111,2=>12,3=>3333);     $y2=in_array('12',$x2,true);          echo $y2;     echo "\r\n";          $x3=array(1=>111,2=>12,3=>3333);     $y3=in_array("12",$x3,true);         echo $y3;     echo "\r\n";    ?>


プログラム出力:
1
0
0


問題:
1. 上記のプログラムはコンパイルされません。構文エラー。
関数in_array()、最初のパラメータはすべてint型です。

関数 in_array()、3 番目のパラメーター: true、これは何をしますか?

なぜ、最初の配列は結果を返します: 1、見つかりました。
2 つまたは 3 つの配列ごとに、返される結果は次のとおりです: 0、見つかりませんか?



ディスカッションへの返信 (解決策)

bool in_array (混合針、配列 haystack [, bool strict])


干し草の山で針を検索し、見つかった場合は TRUE を返し、それ以外の場合は FALSE を返します。

3 番目のパラメータ strict の値が TRUE の場合、in_array() 関数は針の種類が干し草の山のものと同じかどうかもチェックします。

bool in_array (mixed needle, array haystack [, bool strict] )


干し草の山で針を検索し、見つかった場合は TRUE を返し、見つからない場合は FALSE を返します。

3 番目のパラメータ strict の値が TRUE の場合、in_array() 関数は針の種類が干し草の山のものと同じかどうかもチェックします。

1) 12 と 12 は同じ内容、同じタイプです。戻り値: 1

2) '12' と 12 は同じ内容ですが、型が異なるのはなぜですか?

3) 「12」と 12 は同じ内容ですが、種類が異なるのはなぜですか?

関数 in_array( ) の実行プロセスは次のようになります:

1. 関数の各パラメーターの型を確認します。
型が間違っている場合は、構文エラーが表示されます。
場合は、pair と入力し、2 を実行します。

2. 配列を検索します。

3. 見つかった場合は、結果を返します: 1
見つからない場合、結果を返します: 0

ホスト、12 は数値、'12' と "12" は文字列であるため、型が異なります

関数パラメータ: true , PHP の公式中国語ドキュメントですが、あまり詳しくありません。

私の理解は次のとおりです:
Function in_array( )
1) true でない場合、最初のパラメータは型変換後の値を使用し、それを配列要素と比較します。それを見つける。
2) true でない場合、最初のパラメータは型変換前の値を使用し、配列要素と比較します。それを見つける。

そうでしょう?

変更点:

関数パラメータ: true、PHP 公式中国語ドキュメント、あまり詳細ではありません。

私の理解は次のとおりです:
Function in_array( )
1) true でない場合、最初のパラメータは型変換後の値を使用し、それを配列要素と比較します。それを見つける。
2) 第一引数に true を追加し、型変換前の値を使用して配列要素と比較します。それを見つける。

そうでしょう?

<?     $x1=array(1=>"aaaa",2=>12,3=>"bb");     $y1=in_array(12,$x1);      //类型转换后值:12     echo $y1;     echo "\r\n";          $x2=array(1=>111,2=>12,3=>3333);     $y2=in_array('12',$x2);      //类型转换后值:12     echo $y2;     echo "\r\n";          $x3=array(1=>111,2=>12,3=>3333);     $y3=in_array("12",$x3);     //类型转换后值:12     echo $y3;     echo "\r\n";     echo  "------------------------------";    ?><?     $x1=array(1=>"aaaa",2=>12,3=>"bb");     $y1=in_array(12,$x1,true);     //类型转换前值:12     echo $y1;     echo "\r\n";          $x2=array(1=>111,2=>12,3=>3333);     $y2=in_array('12',$x2,true);      //类型转换前值:'12' ,是个字符串。     echo $y2;     echo "\r\n";          $x3=array(1=>111,2=>12,3=>3333);     $y3=in_array("12",$x3,true);     //类型转换前值:"12",是个字符串。     echo $y3;     echo "\r\n";    ?>



プログラム出力:
1
1
1
-------------------------
1
0
0


bool in_array (mixed needle, array haystack [, bool strict] )


干し草の山で針を検索し、見つかった場合は TRUE を返し、見つからない場合は FALSE を返します。

3 番目のパラメータ strict の値が TRUE の場合、in_array() 関数は針の種類が干し草の山のものと同じかどうかもチェックします。
+1

bool in_array (mixed needle, array haystack [, bool strict] )


干し草の山で針を検索し、見つかった場合は TRUE を返し、見つからない場合は FALSE を返します。

3 番目のパラメータ strict の値が TRUE の場合、in_array() 関数は針の種類が干し草の山のものと同じかどうかもチェックします。

6階ですよね?

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