您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

int类型?

2024/2/29 15:23:47发布12次查看
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
这样都对,为什么?
回复讨论(解决方案) 因为你没有给in_array指定第三个参数,因此只比较值是否相等。而 111 ,'111' ,111 三个的值是相等的。
首先2)和3)没区别
其次你要看手册,in_array还有第三个参数,不使用默认false
你加上第三个参数 true 试试?
因为你没有给in_array指定第三个参数,因此只比较值是否相等。而 111 ,'111' ,111 三个的值是相等的。
先不用考虑第3个参数。
php语法,int类型,可以用这三种方式表示?
不可以
111 表示int
'111' ,111 表示字符串
不可以
111 表示int
'111' ,111 表示字符串
为什么程序是对?
1 楼已经说过了,还是建议你去看下手册。
http://php.net/manual/zh/function.in-array.php
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; ?>
函数in_array(),第1个参数是字符型。下面三种表示法:
1)a //php语法错。
2)'a'
3)a
你上个帖子已经问过了吧,好好去看下。
1 楼已经说过了,还是建议你去看下手册。
http://php.net/manual/zh/function.in-array.php
bool in_array ( mixed $needle , array $haystack [, bool $strict = false ] )
函数in_array(),第1个参数,其类型是:mixed.
也就是:它的类型不确定,但是,它是php类型的其中一种!
int整型:
1)111
2)'111'
3)111
这样写法,编译都没出错!
也就是说,它们都是int整型了?
因为你没有给in_array指定第三个参数,因此只比较值是否相等。而 111 ,'111' ,111 三个的值是相等的。
先不用考虑第3个参数。
php语法,int类型,可以用这三种方式表示?
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);
并不会报错!
你上个帖子已经问过了吧,好好去看下。
这个贴,问的是php类型。
与函数in_array()第3个参数,没任何关系!
因为你没有给in_array指定第三个参数,因此只比较值是否相等。而 111 ,'111' ,111 三个的值是相等的。
先不用考虑第3个参数。
php语法,int类型,可以用这三种方式表示?
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);
并不会报错!
php这种弱类型语言。
不知它弱到什么程度,有多少种可能?
如:int整型,就有3种写法。
不像c语言,1 是1,2是2,类型都严格规范化!
弱是相对强的
c语言是强类型语言
所有的脚本语言都是弱类型语言,因为他们都不需要有编译过程。不需要预先分配存储空间
感觉lz是打死也不愿看手册的,那我就摘抄一下吧
-----------------------------
bool in_array ( mixed $needle , array $haystack [, bool $strict = false ] )
在 haystack 中搜索 needle,如果没有设置 strict 则使用宽松的比较。
……
strict
如果第三个参数 strict 的值为 true 则 in_array() 函数还会检查 needle 的 类型是否和 haystack 中的相同。
-------------------------------
希望不是打死也不愿看这楼
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product