我知道我可以像这样创建一个数组:
$array = (
array(
array(
array('MyGroup', 'Name', '0'),
array('MyGroup', 'Name', "1"),
array('MyGroup', 'Name', "2"),
)
)
);
print_r($array);
echo "<br>";
echo $array[0][0][0]. "<br>";
echo $array[0][0][1]. "<br>";
echo $array[0][0][2]. "<br>";
如果我想用以下名称命名键/索引怎么办?
echo $array['MyGroup']['Name']['Id];
我试图“在飞行中”创造它们:
$array['MyGroup']['Name']['id'] = "0";
我该怎么做?
更新
但我无法弄清楚如何添加键和放大器价值“类”:
$array['01']['Name'] = "David";
print_r($array);
echo "<br>";
echo $array['01']['Name'];
echo "<br>";
$array['02']['Name'] = "Eva";
print_r($array);
echo "<br>";
echo $array['02']['Name'];
echo "<br>";
$array['02']['Name']['class'] = "five";
print_r($array);
echo "<br>";
Array ( [01] => Array ( [Name] => David ) )
David
Array ( [01] => Array ( [Name] => David ) [02] => Array ( [Name] => Eva ) )
Eva
Array ( [01] => Array ( [Name] => David ) [02] => Array ( [Name] => Eva [David] => Array ( [class] => five ) ) )
更新2
$students = array(
"0" => array (
"Name" => "Eve",
"Class" => "Five"
),
"1" => array (
"Name" => "David",
"Class" => "Nine"
),
"2" => array (
"Name" => "Eve",
"Class" => "Four"
)
);
print_r($students);
我如何创建这样的数组,“即时”?
答案 0 :(得分:0)
您可以动态执行此操作,但请注意避免覆盖数组的值。
如果你这样做,你将永远覆盖$ array ['MyGroup'] ['Name'] ['id']值,因为你总是在同一个位置。
foreach($data as $key => $value) {
$array['MyGroup']['Name']['id'] = $value;
}
您应该更改$ key值的文字“id”或项目的ID值:
foreach($data as $key => $value) {
$array['MyGroup']['Name'][$key] = $value;
}
修改为更新2:
你应该告诉我们你的数据源如何动态创建数组,但这是一个实现你想要的结构的例子,假设数据结构像这样传入:
$data->Object->Name
$data->Object->Class
一个解决方案可能就是这样:
$students = array();
foreach($data as $key => $value) {
$students[][$key] = $value;
}
如果您想手动操作,请使用:
$students[] = array('Name' => $name, 'Class' => $class);
无论如何,如果我们无法看到数据的来源,我们无法正确帮助您。