如何在数组中调用函数
How to Call Function inside Array
我将使用 PHP 和 json_encode 创建一个 json 文件。我打算包含一个函数,在将它更改为 json 之前,我将在数组中调用该函数。是否可以在数组内部调用函数?
$arrayList = array(
array(
'uid' => "1234",
'nilai' => getBoolean (1)));
function getBoolean ($value) {
if ($value == 0 ) {
echo "false";
} else {
echo "true";
}
}
echo json_encode ($arrayList);
输出json
true[{"uid":"1234","nilai":null}]
如果我想要 json 如下所示的输出怎么办
[{"uid":"1234","nilai":true}]
所以函数 (getBoolean) 的值进入 json 而不是外部。谢谢
PHP 使用 applicative order evaluation strategy 因此 getBoolean(1)
将在 数组分配给 $arrayList
之前计算 。
但是,您的 getBoolean
函数中存在错误。您需要 return
布尔类型值,而不是布尔值的字符串版本。
$arrayList = [ [ 'uid' => '1234', 'nilai' => getBoolean (1) ] ];
function getBoolean ($value) {
return (bool) $value;
}
echo json_encode ($arrayList);
输出:
[{"uid":"1234","nilai":true}]
p.s。我个人不会费心为此编写自定义函数。只需将 (bool)
直接添加到您的数组值。
$arrayList = [ [ 'uid' => 1234, 'nilai' => (bool) 1 ] ];
然后,如果您有负数或其他一些边缘情况,请再次使用:
if ($value == 0) {
return false; // boolean, not string
} else {
return true; // boolean, not string
}
我将使用 PHP 和 json_encode 创建一个 json 文件。我打算包含一个函数,在将它更改为 json 之前,我将在数组中调用该函数。是否可以在数组内部调用函数?
$arrayList = array(
array(
'uid' => "1234",
'nilai' => getBoolean (1)));
function getBoolean ($value) {
if ($value == 0 ) {
echo "false";
} else {
echo "true";
}
}
echo json_encode ($arrayList);
输出json
true[{"uid":"1234","nilai":null}]
如果我想要 json 如下所示的输出怎么办
[{"uid":"1234","nilai":true}]
所以函数 (getBoolean) 的值进入 json 而不是外部。谢谢
PHP 使用 applicative order evaluation strategy 因此 getBoolean(1)
将在 数组分配给 $arrayList
之前计算 。
但是,您的 getBoolean
函数中存在错误。您需要 return
布尔类型值,而不是布尔值的字符串版本。
$arrayList = [ [ 'uid' => '1234', 'nilai' => getBoolean (1) ] ];
function getBoolean ($value) {
return (bool) $value;
}
echo json_encode ($arrayList);
输出:
[{"uid":"1234","nilai":true}]
p.s。我个人不会费心为此编写自定义函数。只需将 (bool)
直接添加到您的数组值。
$arrayList = [ [ 'uid' => 1234, 'nilai' => (bool) 1 ] ];
然后,如果您有负数或其他一些边缘情况,请再次使用:
if ($value == 0) {
return false; // boolean, not string
} else {
return true; // boolean, not string
}