Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我需要创建一个多维数组_Php_Arrays - Fatal编程技术网

Php 我需要创建一个多维数组

Php 我需要创建一个多维数组,php,arrays,Php,Arrays,我试图在Laravel5.8中创建一个多维数组,但我似乎无法使它工作 它在PHP7.3和Laravel5.8上运行。 以下是我已经尝试过的: foreach ($locations as $location) { $email_data = array($address => array($location)); } $arr = array($email_data[count($email_data)-1] => $address); for ($i=count(

我试图在Laravel5.8中创建一个多维数组,但我似乎无法使它工作

它在PHP7.3和Laravel5.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]
,它会显示位置而不是连字符,但如果我不转储,它会显示如下)


在此块中,您正在每次迭代中重写
$email\u数据

foreach ($locations as $location) {
    $email_data = array($address => array($location));
}
你应该做的是

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

这将持续添加值,而不是替换它们。下面关于
$arr

的问题也是一样的,您使用的是哪种类型的变量?以下是我使用的数据:“-结合您显示的代码,这没有什么意义。如果有一个额外的解析步骤,那么你应该告诉我们,或者(最好)解析后产生的数据结构。因此,实际输出的数据是数组,例如:
[0=>7,1=>7]
表示年龄等
foreach ($locations as $location) {
    $email_data[] = array($address => array($location));
}