【问题标题】:Help w/ associative array merge帮助 w/ 关联数组合并
【发布时间】:2011-02-08 20:08:19
【问题描述】:

问候。我正在尝试使用旧数组中的所有修复程序创建一个新数组。我的提要看起来像:

{"id":"75", "team_name":"team1", "home_team_name":"team1", "image":"team1_HOME.png", "final_score":"37"}, {"id":"75", "team_name":"team2", "home_team_name":"team1", "图片":"team2_AWAY.png", "final_score":"10"},

所以每个游戏都必须有与之关联的记录,我如何挑选数据以放置在一个新数组中,所以我得到一个数组,如下所示:

{"id":"75", "team_name":"team1", "home_team_name":"team2", "image_home":"team1_HOME.png", "image_visitor":"team2_AWAY.png", "final_score_1":"37", "final_score_2":"99"},

我尝试过使用 next() 并继续;无济于事...

__ * 更新:

他们为每场比赛保留两个记录,每个得分记录一个,以及关于球队的一些“元数据”。我需要通过匹配 id 来获取这两条记录并在其上运行一些逻辑来找出谁是主队,谁是客队,主队得分,客队得分。循环并列出。

如果 id 匹配,最好的方法是创建一个新数组吗?

或者有没有一种方法可以让我在当前记录中检查下一条记录的 id 以进行匹配,如果是这样,请运行一些逻辑?

谢谢,

【问题讨论】:

  • final_score_2 是从哪里来的?我对你想要做什么感到有点困惑。
  • 如果 id 是唯一的会很好,那么对于数组中的每个元素,您基本上只需检查 id 号。
  • @aaron hathaway - 这是我正在尝试创建的新数组的一部分。他们将每场比赛的数据保存为两个 sep 记录,实际上我只是想创建一个新的记录,将原始两个记录中的所有信息与相同的 id 连接到一个易于循环的记录中。
  • @kyj112 - 对!我认为制作自己的数组是结合两者的最佳方法。让我知道我的逻辑是否有缺陷。

标签: php arrays json


【解决方案1】:

试试array_push,它将添加到数组的末尾。此外,“75”应该是 75,因为您通常将数字作为 ID 处理。

这是一种很好的做法,但不是必需的。

【讨论】:

  • 我会调查的......不幸的是,我对我正在抓取的提要的控制为零。
【解决方案2】:

好吧,我最终没有将这两个项目合并为一个,而是遍历两个并回顾 prev() 记录,如下所示:

for( $i = 1; $i < count( $json_output ); $i += 2 ) :                    
    $current = $json_output[$i];
    $last = $json_output[$i-1];
    $item_from_last_array = $last['item_name'];
    $item_from_this_array = $current['item_name'];
endfor;

【讨论】:

    猜你喜欢
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-04
    • 1970-01-01
    • 2016-02-17
    • 1970-01-01
    • 2010-10-15
    相关资源
    最近更新 更多