我想用這些 JSON 字串做一個回圈。
$json_m = '[
{"name":"1","value":"1"},
{"name":"2","value":"2"},
{"name":"3","value":"3"},
{"name":"4","value":"4"},
{"name":"5","value":"5"},
]';
$json_a = '[
{"name":"1-m","value":"1"},
{"name":"2-m","value":"3"},
{"name":"3-m","value":"5"},
]';
我做一個回圈和$json_m。如果值在兩個 JSON 中都存在,我將引數設定為TRUE
這是我當前的代碼:
$jm = json_decode($json_m, true);
$ja = json_decode($json_a, true);
$i = 0;
$is_exist = FALSE;
foreach($jm as $rows ){
if($rows["value"] == $ja[$i]["value"]){
$is_exist = TRUE;
}
$dataadd = array ( 'ID' => $i,
'NAME' => $rows["value"],
'STATUS' => $is_exist
);
$i ;
}
此腳本回傳全部 FALSE,根據我的示例,STATUS應該回傳如下:
TRUE
FALSE
TRUE
FALSE
TRUE
我錯過了什么還是什么?任何幫助是極大的贊賞。
uj5u.com熱心網友回復:
您可以使用 array_search 如下所示
$json_m = '[
{"name":"1","value":"1"},
{"name":"2","value":"2"},
{"name":"3","value":"3"},
{"name":"4","value":"4"},
{"name":"5","value":"5"}
]';
$json_a = '[
{"name":"1-m","value":"1"},
{"name":"2-m","value":"3"},
{"name":"2-m","value":"3"},
{"name":"3-m","value":"5"}
]';
$jm = json_decode($json_m, true);
$ja = json_decode($json_a, true);
$javal = array_unique(array_column($ja, 'value'));
$is_exist = FALSE;
$dataadd =[];
foreach($jm as $i=> $rows ){
$is_exist = FALSE;
if(is_numeric(array_search($rows["value"], $javal))) {
$is_exist = TRUE;
}
$dataadd[] = array ( 'ID' => $i,
'NAME' => $rows["value"],
'STATUS' => $is_exist
);
}
print_r($dataadd);
uj5u.com熱心網友回復:
您可以通過從using中提取所有value值來使您的生活更輕松;然后,您可以使用. 然后,您可以迭代using以生成值陣列:$jaarray_columnin_array$jmarray_map$dataadd
$ja_values = array_column($ja, 'value');
$dataadd = array_map(fn ($arr, $idx) => array('ID' => $idx, 'NAME' => $arr['value'], 'STATUS' => in_array($arr['value'], $ja_values)), $jm, array_keys($jm));
var_export($dataadd);
輸出(用于您的樣本資料):
array (
0 =>
array (
'ID' => 0,
'NAME' => '1',
'STATUS' => true,
),
1 =>
array (
'ID' => 1,
'NAME' => '2',
'STATUS' => false,
),
2 =>
array (
'ID' => 2,
'NAME' => '3',
'STATUS' => true,
),
3 =>
array (
'ID' => 3,
'NAME' => '4',
'STATUS' => false,
),
4 =>
array (
'ID' => 4,
'NAME' => '5',
'STATUS' => true,
),
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/522541.html
標籤:phpjson循环
下一篇:UI檔案中的標簽文本無法更改
