如何在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"]));