Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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_Multidimensional Array - Fatal编程技术网

如何在PHP中将数据存储到多维数组中?

如何在PHP中将数据存储到多维数组中?,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我知道这是一个愚蠢的问题,但有没有一种方法可以生成一个代码,它将以我希望的方式显示,如下所示: array() 0=> 'label'=> string 'John' 'start'=> array() 0=> string '2015-01-17' 1=> string '2015-01-16' 'end' => a

我知道这是一个愚蠢的问题,但有没有一种方法可以生成一个代码,它将以我希望的方式显示,如下所示:

 array()
    0=>
       'label'=> string 'John'
       'start'=>
          array()
             0=> string '2015-01-17'
             1=> string '2015-01-16'
       'end' =>
          array()
             0=> string '2015-01-18'
             1=> string '2015-01-16'
       'class'=>
          array()
             0=> string 'annual'
             1=> string 'sick'
    1=>
       'label'=> string 'Peter'
       'start'=>
          array()
             0=> string '2015-01-02'
       'end' =>
          array()
             0=> string '2015-01-05'
       'class'=>
          array()
             0=> string 'annual'
    2=>
       'label'=> string 'Mark'
       'start'=>
          array()
             0=> string '2015-01-08'
             1=> string '2015-01-09'
       'end' =>
          array()
             0=> string '2015-01-08'
             1=> string '2015-01-09'
       'class'=>
          array()
             0=> string 'sick'
             1=> string 'annual'
我最近一直在研究一个数组,我看到了一个代码,并将其修改为如下所示:

     $data[] = array(
      'label' => $row["name"] ,
      'start' => array($row["start_date"]), 
      'end'   => array($row["end_date"]),
      'class' => array($row["type"]));
代码显示了以下内容,尽管这不是我想要它做的

 array (size=6)
 0 => 
  array (size=4)
    'label' => string 'John' (length=4)
    'start' => 
      array (size=1)
        0 => string '2015-01-17' (length=10)
   'end' => 
      array (size=1)
        0 => string '2015-01-18' (length=10)
   'class' => 
       array (size=1)
        0=> string 'annual' (length=6)
 1 => 
  array (size=4)
    'label' => string 'John' (length=4)
    'start' => 
      array (size=1)
        0 => string '2015-01-16' (length=10)
    'end' => 
      array (size=1)
        0 =>string '2015-01-16' (length=10)
    'class' => 
       array (size=1)
        0=>string 'sick' (length=4)
 2 => 
  array (size=4)
    'label' => string 'Peter' (length=5)
    'start' => 
      array (size=1)
        0 => string '2015-01-02' (length=10)
     'end' => 
       array (size=1)
         0 => string '2015-01-05' (length=10)
     'class' => 
       array (size=1)
        0=>string 'sick' (length=4)
3 => 
  array (size=4)
    'label' => string 'Mark' (length=19)
    'start' => 
      array (size=1)
       0 => string '2015-01-08' (length=10)
    'end' => 
     array (size=1)
       0 => string '2015-01-08' (length=10)
   'class' => 
       array (size=1)
        0=>string 'sick' (length=4)
4 => 
  array (size=4)
   'label' => string 'Mark' (length=19)
   'start' => 
     array (size=1)
       0 => string '2015-01-09' (length=10)
   'end' => 
     array (size=1)
      0 => string '2015-01-09' (length=10)
   'class' => 
        array (size=1)
        0=>string 'annual' (length=6)
您可以尝试(提供随机数据)


另外,尽量避免使用字符串(我想是学生姓名)作为键-使用学生ID会更好(例如,如果名称发生更改,则使用图像…)

我认为您已经需要了解一下如何分配,我可以从您的代码中看出,您已经接近您的目标want@OliSoproniB. 谢谢你,奥利,我已经研究了好几个星期了,但还没弄清楚^_^谢谢你的回复,我已经试过那个代码了,但它仍然不是我想要的。。。代码上的数据没有分类。谢谢你的回复。我想知道如果我的起始值大于2怎么办?。。。正如我在您的示例代码中所看到的,您手动键入数组($row[“start\u date\u 1”],$row[“start\u date\u 2”]),..@LBMG您所说的开始值大于2是什么意思?因为我不知道这两个日期,例如“2015-01-17”和“2015-01-16”是什么意思,我只是假设了半随机键。结果是这样的数组(大小=6)
0=>array(大小=4)'label'=>string'John'(长度=4)'start'=>array(大小=1)0=>string'2015-01-17'(长度=10)'end'=>array(大小=1)0=>string'2015-01-18'(长度=10)'class=>array(大小=1)0=>string'annual'(length=6)1=>array(size=4)'label'=>string'John'(length=4)'start'=>array(size=1)0=>string'2015-01-16'(length=10)'end'=>array(size=1)0=>string'sick'(length=4)
您确定这些值合法吗?是的。。。所有值都是从数据库中提取的。。我的db如下所示:参考编号:姓名:开始日期:结束日期:类型:1:John:2015-01-17:2015-01-18:annual:2:John:2015-01-16:2015-01-16:3:Peter:2015-01-02:2015-01-05:annual|
$data[] = array(
      'label' => $row["name"] ,
      'start' => $row["start_date"], 
      'end'   => $row["end_date"],
      'class' => $row["type"],);
$row['name'] = 'John';
$row['start_date_1'] = '2015-01-01';
$row['start_date_2'] = '2015-01-02';

$row['end_date_1'] = '2015-08-11';
$row['end_date_2'] = '2015-08-22';

$row['class_type_1'] = 'sick';
$row['class_type_2'] = 'annual';

$data[] = array(
  'label' => $row["name"] ,
  'start' => array($row["start_date_1"], $row["start_date_2"]),
  'end'   => array($row["end_date_1"], $row["end_date_2"]),
  'class' => array($row["class_type_1"], $row["class_type_2"]));