它已经是布尔形式。尝试使用var_dump($array[0]['visibility']);
,它会输出bool(true)
或bool(false)
。
print_r
自动将布尔值转换为1
为true,并且(empty)
在输出时为false,但不会更改数据类型。
您可以使用var_dump
阵列上,以获得更好的输出:
<?php
$array = array(
'booleanTrue' => true,
'booleanFalse' => false,
'integer' => 1
);
var_dump($array);
print_r($array);
/*
array(3) {
["booleanTrue"]=>
bool(true)
["booleanFalse"]=>
bool(false)
["integer"]=>
int(1)
}
Array
(
[booleanTrue] => 1
[booleanFalse] =>
[integer] => 1
)
*/
?>
DEMO
编辑:
这里是给你一个更好/更紧凑var_dump
输出功能非常类似于print_r
:
<?php
function var_dump_r($variable, $return = false) {
ob_start();
var_dump($variable);
$output = preg_replace('/\["([^"]+)"\]/', '[$1]', preg_replace('/\s*=>\s*/', ' => ', ob_get_clean()));
if (!$return) {
echo $output;
}
return $return;
}
var_dump_r(array(
'booleanTrue' => true,
'booleanFalse' => false,
'integer' => 1
));
/*
array(3) {
[booleanTrue] => bool(true)
[booleanFalse] => bool(false)
[integer] => int(1)
}
*/
?>
是的,你是对的。以前不知道print_r这个事实。谢谢。 –