我有以下代码
<?php
$str="3dollars";
$a=20;
$a+=$str;
print($a);
?>
上述程序的输出怎么样是23?
提前致谢!!
答案 0 :(得分:2)
+
运算符会将字符串强制转换为整数,因此它会(内部)执行以下操作:
$str = "3dollars";
$a = 20;
$a += $str;
// $str = (int)"3dollars";
// $str = 3;
$a = 23;
您要做的是使用&#39; concatenation&#39;运算符(.
):
<?php
$str = "3dollars";
$a = 20;
$a .= $str;
print($a); // 203dollars
答案 1 :(得分:0)
它将“3dollars”作为一个数字,得到$ str = 3.
当你回音时,你向$ str添加20,所以它打印23和$ a = 23。
<?php $a += $str;
print($a);
it echo 23; //$a=$a+$b;?>
答案 2 :(得分:0)
$str= (int) "3dollars";
$a=20;
$a+=$str;
print($a);
使用(int)
将字符串转换为整数。
答案 3 :(得分:0)
使用此
<?php
$a = 20;
$str = "3dollars";
preg_match_all('!\d+!', $str, $matches);
print_r($matches);
$matches = $a + $matches[0][0];
echo '<br> Value Is :'.$matches;
?>
这将打印 23 作为答案。
<强>输出强>
Array ( [0] => Array ( [0] => 3 ) )
Value Is :23