PHP代码,那些意想不到的结果

1、自增

<?php
$a = 1;
echo $a+++$a;

你觉得是多少?

<?php
$a = 1;
echo $a++ + $a;

第一个变量先参与运算再加加,最后一个变量变成2,是 3.

2、数字

<?php
$a = 2586;
$b = 2585.98;
var_dump($a-$b);

期望的结果是:float(0.02)
实际结果:
float(0.019999999999982)

3、数组合并

(1)
<?php
$a = [1, 2];
$b = [3, 4];
var_dump($a + $b);
var_dump(array_merge($a, $b));

也就是 + 号和array_merge的区别
在这里插入图片描述
你有可能会觉得+合并数组是只要前面的不要后面的,继续往下看

(2)
<?php

$a = ['a' => 1, 'b' => 2];
$b = [3, 4];

var_dump($a + $b);

var_dump(array_merge($a, $b));

这个结果又是什么呢?
在这里插入图片描述
所以你可能知道了。对于相同的key,+ 遇到相同key值的数组会忽略后面的;而对于array_merge则不会。

(3)
<?php

$a = ['a' => 1, 'b' => 2];
$b = ['a' => 3, 4];

var_dump($a + $b);

var_dump(array_merge($a, $b));

这样呢
在这里插入图片描述
所以对于关联数组和索引数组还是不一样的。

4、三元运算

<?php
echo false == '  ' ? 1 : 0;

这里考你眼力的时候到了,单引号中间有一个空格,这时候就不是空(‘’);所以结果是 0.

未完待续,如果你有PHP遇到的意想不到的结果可以评论区告诉我哦

猜你喜欢

转载自blog.csdn.net/qq_41417172/article/details/99454242