我有一个像这样的JSON数组:
"custom_fields": [
{
"label": "Customer_Info",
"data": "10"
},
{
"label": "Customer_Other",
"data": "50"
}
我能够访问数据并像这样打印它:
$data = $_POST['custom_fields'];
foreach ($data as $item) {
$line = '';
foreach ($item as $key => $value) {
if ($key == 'data'){
$line .= "$key: $value, ";
}
}
$current .= rtrim($line, ', ')."\n";
}
然后我得到如下输出:
data: 10
data: 50
问题是,我只想获取data
为label
的{{1}}值,这样我只有一个值为Customer_Info
的字符串。我该怎么办?
在我遗留剩下的几根头发之前,任何帮助都将不胜感激:/
答案 0 :(得分:1)
您不需要嵌套循环。 1 foreach
就足够了。检查$item
$data = array(array("label" => "Customer_Info",
"data" => "10"),
array("label" => "Customer_Other",
"data" => "50"));
$line = '';
foreach ($data as $item)
{
if (isset($item['label'])
&& isset($item['data'])
&& $item['label'] == 'Customer_Info')
{
$line .= "data: {$item['data']}, ";
}
}
$current = rtrim($line, ', ')."\n";
echo $current;
输出:
数据:10
答案 1 :(得分:0)
如果只有InitialBaseline
为label
的一个,则提取Customer_Info
值并在data
值上进行索引会更容易:
label