我正在尝试在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 :(得分:0)
在此块中,您每次迭代都重写$email_data
foreach ($locations as $location) {
$email_data = array($address => array($location));
}
您应该做的是
foreach ($locations as $location) {
$email_data[] = array($address => array($location));
}
这将连续添加值,而不是替换它们。您在$arr