【问题标题】:I need to create a multidimensional array [duplicate]我需要创建一个多维数组[重复]
【发布时间】:2019-12-11 00:16:27
【问题描述】:

我正在尝试在 Laravel 5.8 中创建一个多维数组,但我似乎无法让它工作。

它在 PHP 7.3 和 Laravel 5.8 上运行。 这是我已经尝试过的:

foreach ($locations as $location) {
    $email_data = array($address => array($location));
}
    $arr = array($email_data[count($email_data)-1] => $address);

for ($i=count($email_data) - 2 ; $i>=0 ; $i--) {
    $arr = array($email_data[$i] => $arr);
}

foreach ($ageMatches as $ageMatch) {
    $age['Age'] = $ageMatch[1];
    array_push($arr, $age);
}

这是我正在使用的数据:

        ELY FARM
      THE ADDRESS
  BW8010 2.55  UNIT 1

Logged   03 JUN 19 23:59

     SUMMARY REPORT

----UNIT 1  PERCH 1-----
     House 1, Pen 1

Age         DAYS       7
Total               3997
Average     GMS       64
Deviation   GMS       14
Evenness    %         29
C.V.        %       21.9
Daily gain  GMS        9

----UNIT 1  PERCH 2-----
     House 1, Pen 2

Age         DAYS       7
Total               3849
Average     GMS       73
Deviation   GMS       17
Evenness    %         29
C.V.        %       23.3
Daily gain  GMS        9

所以我想成为这样的人:

array(
"Ely Farm" => array(
    "Unit 1 Perch 1" => array( 
        "Age" => 7,
        "Total" => 3849,
    ),
    "Unit 1 Perch 2" => array(
        "Age" => 7,
    )
),
"Next Location" => array(
    array(
    ),
);

目前我有以下内容,但我无法在出错的地方工作(如果我转储$location[1],它确实会显示位置而不是连字符,但是当我不转储时,它会显示为下面)。

array:1 [▼
  "Ely Farm" => array:1 [▼
    0 => array:2 [▼
      0 => "------------------------"
      1 => "---------------"
    ]
  ]
]

【问题讨论】:

  • 你使用的数据是什么类型的变量?
  • “这是我正在使用的数据:” - 结合您显示的代码,这没什么意义。如果需要以某种方式解析它,那么您应该向我们展示这一点,或者(最好)向我们展示解析后产生的数据结构。
  • 抱歉,我正在使用正则表达式提取信息。所以实际出来的数据是数组,例如:[0 => 7, 1 => 7]代表年龄等等

标签: php arrays


【解决方案1】:

在此块中,您将在每次迭代中重写 $email_data

foreach ($locations as $location) {
    $email_data = array($address => array($location));
}

你应该做的是

foreach ($locations as $location) {
    $email_data[] = array($address => array($location));
}

这将不断添加值而不是替换它们。 $arr 也有同样的问题

【讨论】:

    猜你喜欢
    • 2017-04-06
    • 2011-04-22
    • 1970-01-01
    • 2019-07-18
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    相关资源
    最近更新 更多