我想venue_与venueName. 但似乎它只显示最后一个venue_结果。知道我的代码有什么问题吗?$venueLength = 6;for ($i = 0; $i < $venueLength; $i++) { $linkageArray = array(); $mainArray = array ("venueName" => $venueArray[$i]['venueName']); for ($j = 0; $j < $venueLength; $j++) { $secondArray = array ( "venue_".$j => (in_array($venueArray[$j]['venueID'], $linkageArray) ? 'X' : '')); } $res[] = array_merge($mainArray, $secondArray); } header("Content-type: application/json");$result = json_encode($res);echo $result;结果[ { venueName: "Data A", venue_5: "" }, { venueName: "Data A3", venue_5: "" }, { ........]我想要的结果[ { venueName: "Data A", venue_0: "", venue_1: "", venue_2: "", venue_3: "", venue_4: "", venue_5: "" }, { venueName: "Data A3", venue_0: "", venue_1: "", venue_2: "", venue_3: "", venue_4: "", venue_5: "" }, ........]
1 回答

aluckdog
TA贡献1847条经验 获得超7个赞
您只需继续重置$secondArray值
$secondArray = array ( "venue_".$j => (in_array($venueArray[$j]['venueID'], $linkageArray) ? 'X' : ''));
而是在循环外重置数组并为每个循环添加一个新值......
$secondArray = [];
for ($j = 0; $j < $venueLength; $j++) {
$secondArray[ "venue_".$j ] = (in_array($venueArray[$j]['venueID'], $linkageArray) ? 'X' : ''));
}
或者直接添加到$mainArray
for ($j = 0; $j < $venueLength; $j++) {
$mainArray[ "venue_".$j ] = (in_array($venueArray[$j]['venueID'], $linkageArray) ? 'X' : ''));
}
你不需要array_merge().
- 1 回答
- 0 关注
- 82 浏览
添加回答
举报
0/150
提交
取消