为了账号安全,请及时绑定邮箱和手机立即绑定

for循环中的PHP循环

for循环中的PHP循环

PHP
红颜莎娜 2022-11-04 17:03:44
我想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().


查看完整回答
反对 回复 2022-11-04
  • 1 回答
  • 0 关注
  • 82 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号