从子数组(PHP)将数据推送到父数组

奇怪的:

我有很多棒球队,每个棒球队里都有一系列赛季。每个赛季内的获胜次数。我想统计一个团队的所有胜利,然后将此数字推入每个团队的数据中。我的最终目标是按照每个团队的总获胜次数来排序此主阵列。

我的问题是,我不知道如何将totalGamesWon统计信息推向团队数据的主要数组。

对于效率低下的编码,请提前致歉!如果有像我这样的新手有更好的方法可以做到这一点,那么我无所不能!

$teams = array(
  array (
    'teamName' => 'Yankees',
    'seasons' => array (
      array(
        'seasonName' => '2018 Regular Season',
        'wins' => 100
      ),
      array(
        'seasonName' => '2018 Playoffs',
        'wins' => 2
      )
    )
  ),
  array (
    'teamName' => 'Red Sox',
    'seasons' => array (
      array(
        'seasonName' => '2018 Regular Season',
        'wins' => 108
      ),
      array(
        'seasonName' => '2018 Playoffs',
        'wins' => 11
      )
    )
  ),
);

foreach ($teams as $team) {
  $totalGamesWon = 0;
  foreach ($team['seasons'] as $season) {
    $totalGamesWon += $season['wins'];
  }
  $team['totalGamesWon'] = $totalGamesWon;
}

echo $teams[0]['teamName'];       // outputs "Yankees"
echo $teams[0]['totalGamesWon'];  // should output "102". Instead, I get "Notice: Undefined index: totalGamesWon"
世界上最好的程序员:

只需更改$team&$team,即可通过$team 按引用而不是按值传递

foreach ($teams as &$team) {
   $totalGamesWon = 0;
   foreach ($team['seasons'] as $season) {
       $totalGamesWon += $season['wins'];
   }
   $team['totalGamesWon'] = $totalGamesWon;
}

默认情况下($team)它通过值传递,这意味着它仅在范围内(在循环中)更改。因此,每次迭代都会设置$ team ['totalGameswon']的值,但实际的数组$ teams不会受到影响。

通过引用传递它时,当前已更改的项目($team['totalGamesWon'])会更改实际数组中的值。


因此:(按值传递

foreach ($teams as $key => $team) {
   $totalGamesWon = 0;
   foreach ($team['seasons'] as $season) {
       $totalGamesWon += $season['wins'];
   }
   $teams[$key]['totalGamesWon'] = $totalGamesWon;
}

通过引用传递

foreach ($teams as &$team) {
   $totalGamesWon = 0;
   foreach ($team['seasons'] as $season) {
       $totalGamesWon += $season['wins'];
   }
   $team['totalGamesWon'] = $totalGamesWon;
}

会给你同样的结果。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将 PHP 获取数组数据推送到 ajax 请求并返回

来自分类Dev

如何使用while循环PHP将数据推送到数组

来自分类Javascript

将获取的数据推送到对象数组

来自分类Dev

将数据从API推送到数组

来自分类Dev

将JSON数据推送到数组中?

来自分类Dev

将JSON数据推送到Jquery数组

来自分类Dev

将异步数据推送到数组反应

来自分类Dev

将值从 Smarty PHP 数组推送到 JavaScript 数组

来自分类Dev

如何将数组数据推送到数据属性中

来自分类Dev

将内容推送到数组

来自分类Dev

如何将数据对象推送到php中的对象数组

来自分类Dev

将数据推送到数组索引内。反应原生 JSX

来自分类Dev

如何将 setState 数组推送到数据?

来自分类Dev

如何将数据推送到多维数组?

来自分类Dev

将 JSON 数据推送到 ANGULAR 对象数组中

来自分类Dev

将数据推送到 React Native 中的数组

来自分类Dev

无法将数据推送到 Firebase 数组字段

来自分类Dev

Javascript:将数据推送到for循环内的数组对象

来自分类Dev

MongoDB将数据推送到特定的数组元素

来自分类Dev

将数据推送到嵌套结构数组中

来自分类Dev

将数据从多个输入推送到状态数组

来自分类Dev

如何将数据推送到数组mongodb中?

来自分类Dev

异步将数据推送到节点中的数组

来自分类Dev

将Firebase数据推送到数组+ js + vuejs中

来自分类Dev

无法将数据从sql查询推送到数组进行比较

来自分类Dev

如何使用Ajax将数据推送到数组

来自分类Dev

使用ngOnInit中的foreach将数据推送到数组中

来自分类Dev

每次单击按钮时将状态数据推送到数组

来自分类Dev

将数组数据推送到会话时出错