<? $x1=array(1=>111,2=>22111,3=>3333); $y1=in_array(111,$x1); echo $y1; echo "\r\n"; $x2=array(1=>111,2=>2211,3=>3333); $y2=in_array('111',$x2); echo $y2; echo "\r\n"; $x3=array(1=>111,2=>2211,3=>3333); $y3=in_array("111",$x3); echo $y3; echo "\r\n"; ?>
in_array の 3 番目のパラメータを指定していないため、値が等しいかどうかのみを比較します。 111 、 '111' 、および "111" の 3 つの値は等しいです。
まず第一に、2) と 3) に違いはありません
次に、マニュアルを読む必要があります。in_array には 3 番目のパラメータがあります。デフォルトの false を使用しないでください。
3 番目のパラメータ true を追加してみてはいかがでしょうか?
in_array の 3 番目のパラメータを指定していないため、値が等しいかどうかのみを比較します。 111 、 '111' 、および "111" の値は等しいです。
今のところ、3 番目のパラメータを考慮する必要はありません。
PHPの構文、int型はこの3通りで表現できるのでしょうか?
不可能です
111 は int を表します
'111' 、「111」は文字列を表します
不可能です
111 は int を表します
'111' 、「111」は文字列を表します
なぜプログラムは正しいのでしょうか?
1階の方も言ってますが、やはりマニュアルを読むことをお勧めします。
http://php.net/manual/zh/function.in-array.php
<? $x1=array(1=>"a",2=>"b",3=>"c"); $y1=in_array(a,$x1); //这行有语法错误! //PHP Notice: Use of undefined constant a - assumed 'a' in /var/www/b.php on line 4 echo $y1; echo "\r\n"; $x2=array(1=>"a",2=>"b",3=>"c"); $y2=in_array('a',$x2); echo $y2; echo "\r\n"; $x3=array(1=>"a",2=>"b",3=>"c"); $y3=in_array("a",$x3); echo $y3; echo "\r\n"; ?>
前回の投稿ですでに質問していますので、よく見てください。
1階の方も言ってますが、やはりマニュアルを読むことをお勧めします。
http://php.net/manual/zh/function.in-array.php
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
in_array の 3 番目のパラメータを指定していないため、値が等しいかどうかのみを比較します。 111 、 '111' 、および "111" の値は等しいです。
今のところ、3 番目のパラメータを考慮する必要はありません。
PHPの構文、int型はこの3通りで表現できるのでしょうか?
PHP は弱い型付け言語であり、コンテキストに応じてデータ型を自動的に変更します
たとえば、
echo '111' + 2; //Output 113
echo 111 . //Output 1112
#8 の場合、必須の型チェックがキャンセルされました
error_reporting(E_ALL ^ E_NOTICE);
$x1=array(1=>"a",2=>"b",3=>"c"); in_array(a,$x1) ;
エラーは報告されません。
この投稿は PHP の種類について質問しています。
関数 in_array() の 3 番目のパラメータとは何の関係もありません!
in_array の 3 番目のパラメータを指定していないため、値が等しいかどうかのみを比較します。 111 、 '111' 、および "111" の値は等しいです。
今のところ、3 番目のパラメータを考慮する必要はありません。
PHPの構文、int型はこの3通りで表現できるのでしょうか?
PHP は弱い型付け言語であり、コンテキストに応じてデータ型を自動的に変更します
たとえば、
echo '111' + 2; //Output 113
echo 111 . //Output 1112
#8 の場合、必須の型チェックがキャンセルされました
error_reporting(E_ALL ^ E_NOTICE);
$x1=array(1=>"a",2=>"b",3=>"c"); in_array(a,$x1) ;
エラーは報告されません。
PHP は弱く型付けされた言語です。
どのくらい弱いのか、どのくらいの可能性があるのだろうか?
例: int 型の場合、3 つの書き方があります。
C言語と違い、1は1、2は2と型が厳密に標準化されています!
弱いことは相対的に強い
すべてのスクリプト言語は、コンパイルプロセスを必要としないため、弱い型付け言語です。ストレージスペースを事前に割り当てる必要はありません
LZ は死ぬほどマニュアルを読みたくないような気がするので、抜粋してみます
---------------------------- ----
bool in_array (mixed $needle , array $haystack [, bool $strict = FALSE ] )
haystack で needle を検索し、strict が設定されていない場合は緩和比較を使用します。
……
strict
3 番目のパラメータ strict の値が TRUE の場合、in_array() 関数は針の種類が干し草の山のものと同じかどうかもチェックします。
----------------------------------
この建物を死ぬほど見たくないといいのですが