任何数据在网络上传输时都是字符串。比如true、false在网络上传输后,在服务端接收,接收到的数据是’true’、‘false’,因此不能用下面的方式进行真/假的判断,如:
$bool = $_GET[‘bool’];//前端传输的是false
if($bool) {
echo '真';
}else{
echo '假';
}
会输出:真,因为此时的$bool=‘false’,'false’是真。所以,最好不要传输true、false来表示真、假,可以传输1、0来表示。
但是json字符串里面的true、false就可以。如:
$bool = $_GET[‘bool’];//’{“default”:“false”,“default1”:false}’
d
a
t
a
=
j
s
o
n
d
e
c
o
d
e
(
data = json_decode(
data=jsondecode(bool,true);
if($data[‘default’]){
echo '真';
} else {
echo '假';
}
会输出:假,因为此时$data[‘default1’] = false,false是假,所以输出假。