Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String intval($var)=strval($var)返回true_String_Int - Fatal编程技术网

String intval($var)=strval($var)返回true

String intval($var)=strval($var)返回true,string,int,String,Int,给出的例子非常简单,所以我认为不需要任何解释。 我在文档中找不到任何可以解释这种行为的参考资料,而且我还找到了一些解决方法,因此您不必费心去查找它们(不过提前谢谢) 我只是想有人能解释一下。。。。。对我来说没有任何意义: // comma separated IDs to later use in SQL statement $var = '10,20,30,40,743,102394'; $multi_intval = intval($var); // same with (int) $va

给出的例子非常简单,所以我认为不需要任何解释。 我在文档中找不到任何可以解释这种行为的参考资料,而且我还找到了一些解决方法,因此您不必费心去查找它们(不过提前谢谢)

我只是想有人能解释一下。。。。。对我来说没有任何意义:

// comma separated IDs to later use in SQL statement
$var = '10,20,30,40,743,102394';

$multi_intval = intval($var); // same with (int) $var
$multi_string = strval($var); // same with (string) $var
var_dump($multi_intval, $multi_string, $multi_intval == $multi_string);

    // result
    int(10) string(22) "10,20,30,40,743,102394" bool(true)

10怎么等于一个22个strlen字符串?

我只是偶然发现了这个问题,寻找另一个答案,所以即使它很旧,我也会给出一个答案,以防其他人发现它

从php文档中:
如果您将数字与字符串进行比较,或者比较涉及数字字符串,那么每个字符串都将转换为一个数字


正因为如此,您的比较
intval($var)=strval($var)
被更改为类似
intval($var)==intval(strval($var))
的内容,这当然是相等的(我不知道用什么语言将字符串更改为整数,以上只是视觉表示)。如果你真的需要知道它们是否相同,请使用
==

一年后,我只是想说声谢谢,它已经被回答了,但我猜所有者删除了他的答案。。。事实上,我有一个答案要说,但它也被删除了,我猜管理员想让我用评论代替:)编辑:实际上2年后EHH,但你花了整整一年的时间来回答:D谢谢!