int门类
int类型??$x1array(1111,222111,33333)$y1in_array(111,$x1)echo $y1echo \r\n$x2array(1
int类型?
<?
$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";
?>
问题:
上面PHP程序,函数第1个参数是:int类型,它可以用以下3种方式表示:
1)111
2)'111'
3)"111"
这样都对,为什么?
[解决办法]php 是弱类型语言,会根据上下文自动变换数据类型
如
echo '111' + 2; //输出 113
echo 111 . 2; //输出 1112
对于 #8,当取消强制类型检查时
error_reporting(E_ALL ^ E_NOTICE);
$x1=array(1=>"a",2=>"b",3=>"c");
$y1=in_array(a,$x1);
并不会报错!