如何检查一个变量是否存在解码JSON后?



我有这个JSON字符串。

[
{
"name": "user_title",
"value": "Bapak."
},
{
"name": "user_firstname",
"value": "Test"
},
{
"name": "user_lastname",
"value": "XXX"
}
]

动态生成的字符串。它可能有或多或少。我使用JSON Decode在PHP中处理它。

$json_form      = json_decode($json_string,true);
$user_title     = $json_form[0]['value'];
$user_firstname = $json_form[1]['value'];
$user_lastname  = $json_form[2]['value'];

如何检查变量user_title是否存在于字符串中?

如果它存在,我应该得到值,但如果不存在,这意味着$user_title = NULL

您可能要考虑将JSON映射到使用array_column的键/值数组;然后很容易检查值是否存在。例如:

$json_form = json_decode($json_string, true);
$values = array_column($json_form, 'value', 'name');
$user_title     = $values['user_title'];
$user_firstname = $values['user_firstname'];
$user_lastname  = $values['user_lastname'];
echo "title: $user_titlenfirst name: $user_firstnamenlast name: $user_lastnamen";

示例数据的输出为:

title: Bapak.
first name: Test
last name: XXX

也很容易在缺少键时添加默认值,例如:

$user_title     = $values['user_title'] ?? '';

相关内容

最新更新