$placea = "place a";
$placeb = "place b";
$myarray = array();
echo "<pre>";
print_r($myarray);
echo "</pre>";
我希望能够做到的事情:
Array
(
[0] => [Place A] => Array
(
[0] => [Accommodation] => Array
(
[RoomId] => 001
[RoomAvail] => true
[Date] => 12.04.2011
)
[1] => [Accommodation] => Array
(
[RoomId] => 002
[RoomAvail] => true
[Date] => 12.04.2011
)
) Array
(
[1] => [Place B] => Array
(
[0] => [Accommodation] => Array
(
[RoomId] => 101
[RoomAvail] => true
[Date] => 12.04.2011
)
[1] => [Accommodation] => Array
(
[RoomId] => 102
[RoomAvail] => true
[Date] => 12.04.2011
)
)
)
我将如何在PHP中写出来?抱歉,如果它的bleek和/或数组结构不正确
答案 0 :(得分:3)
因此,您只需要重复使用array
初始化程序。
如果你想在PHP中用一些值(例如1到4)初始化一个数组,你可以进行如下调用:
$foo = array(1, 2, 3, 4);
如果你想创建一个关联数组,你存储一些键/值对,你可以进行如下调用:
$foo = array('key' => 'value', 'other key' => 'other value');
但是你当然可以嵌套调用,混合和匹配关联和非关联数组的层来实现类似你的例子:例如:
$foo = array(
'Place A' => array(
// note use of first array on the next line is
// to generate structure like [0] => 'Accomodation' => ...
array('Accomodation' => array(
'RoomId' => '001',
'RoomAvail' => true,
'Date' => '12.04.2011')
)),
array('Accomodation' => array(
'RoomId' => '002',
'RoomAvail' => true,
'Date' => '12.04.2011')
))
),
'Place B' => array(
array('Accomodation' => array(
'RoomId' => '101',
'RoomAvail' => true,
'Date' => '12.04.2011')
)),
array('Accomodation' => array(
'RoomId' => '102',
'RoomAvail' => true,
'Date' => '12.04.2011')
))
)
);
这几乎可以产生你正在寻找的东西,使它完全复制你用'Place A'
包裹每个array
的东西,并且每个“地方”都会得到它自己的分配一些变量$foo
(我认为这实际上并不是你想要的东西,并写了一些可能更直观的东西)。
答案 1 :(得分:0)
如果你想要一个'不那么复杂'的数组,你有两个数组,一个是前置位置,一个是位置b,然后使用array_merger()http://www.php.net/manual/en/function.array-merge.php合并它们。
研究手册中的数组函数控制结构。许多不同的方法可以实现膨胀的数组代码。
答案 2 :(得分:0)
这将动态创建一个数组。
foreach($soapResponse as $key1 => $value1){
foreach($value as $key2 => $value2){
// $key1 = Place A or B
// value1 = array of values
$arrayResponse[$key1][$key2] = $value2;
}
}