使用PHP获取JSON密钥



我有一个JSON,看起来像这个

$array = '{
"de": {
"name": "last_name",
"label": "Last Name",
"f_type": "input"
},
"en": {
"name": "last_name",
"label": "Last Name",
"f_type": "input"
}
}';

我想要实现的是当语言是英语时,显示来自en数组的值

然后我像这样循环使用JSON。

$json_values = json_decode( $array, true);
foreach ($json_values as $key) {
foreach ($key as $item => $value) {
if ($item == 'label') {
$label = $value;
}
if ($item == 'name') {
$name = $value;
}
if ($item == 'f_type') {
if ($value == 'input') {
echo  '<div class="form-group"><label for="usr">'.$label.':</label>
<input type="text" value="'.$name.'" class="form-control"></div>';
}
}
}
}

然而,如果我试图获得语言密钥名称,并比较它是否是这样的特定值,则不起作用

foreach ($json_values as $key) {
if( $key == 'en'){
echo "language is English";
}
}

所以,我不知道如何检查语言是什么,并且只显示该语言的值。

$json = '{
"de": {
"name": "last_name",
"label": "Last Name",
"f_type": "input"
},
"en": {
"name": "last_name",
"label": "Last Name",
"f_type": "input"
}
}';
$json = json_decode($json,true);
$lang = 'en';
if($lang == 'en'){
$values = $json[$lang];
} else {
$values = $json['de'];
}
echo  '<div class="form-group"><label for="usr">'.$values['label'].':</label><input type="text" value="'.$values['name'].'" class="form-control"></div>';

最新更新