猿问
string 和 int 值相加的输出是什么?
$a=1;
$b="abc";
echo $c=$a+$b;
输出:- 1
我试图了解添加字符串和 int 值时 PHP 是如何工作的。
绝地无双
浏览 229
回答 2
2回答
千万里不及你
您给出的示例实际上会生成一个您可能看不到的警告(取决于您的环境设置):警告:在第 3 行的 [...][...] 中遇到的非数字值但是,PHP 会尽力继续工作,因此不会停止执行。您认为 PHP 在上述情况下应该做什么?它将尝试转换$b为等效的数字并继续。在这种情况下"abc"转换为0并添加到$a,给出答案1。请考虑以下内容:$a=1;$b="abc";$d="2";echo $c=$a+$b+$d;你希望它输出什么?它输出3是因为 PHP 可以转换"2"为等效的数字并将其添加到1.您实际上可以让 PHP 告诉您字符串的整数等价物正在使用什么,intval或者通过显式转换为int:echo intval("abc");echo (int)"abc";正如您现在应该已经预料到的那样,这0两种情况下都会输出。
0
0
0
有只小跳蛙
当您添加字符串和整数时,如果字符串包含任何前导数字字符,PHP 将评估为数字类型,它只会考虑该数字字符。如果字符串不包含数字字符,那么它将被评估为“0”。所以上面的答案是1。as 1+"abc" PHP 会将 "abc" 计算为零。因此1+0 = 1
0
0
0
随时随地看视频
慕课网APP
相关分类
PHP
php如何把参数放在Http Request Heade????
1 回答
我要回答