使用PHP动态创建数组

使用PHP动态创建数组,php,arrays,Php,Arrays,大家好,请帮助一个PHP初学者。我试图将动态创建的variabled加载到一个数组中,以便稍后重新读取,原因是发送的SOAP消息非常混乱,我试图创建一个不太复杂的数组: $placea = "place a"; $placeb = "place b"; $myarray = array(); echo "<pre>"; print_r($myarray); echo "</pre>"; 我该如何用php写出来?很抱歉,如果其bleek和/或数组结构不正确,则只需重复

大家好,请帮助一个PHP初学者。我试图将动态创建的variabled加载到一个数组中,以便稍后重新读取,原因是发送的SOAP消息非常混乱,我试图创建一个不太复杂的数组:

$placea = "place a";
$placeb = "place b";

$myarray = array();

echo "<pre>";
print_r($myarray);
echo "</pre>";

我该如何用php写出来?很抱歉,如果其bleek和/或数组结构不正确

,则只需重复使用
数组
初始值设定项即可

如果要在PHP中使用一些值(例如1到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')
        ))
    )
);
如果要创建一个关联数组,在其中存储一些键/值对,则可以进行如下调用:

$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')
        ))
    )
);
但您当然可以嵌套调用,并混合和匹配关联数组和非关联数组的层,以实现与您的示例类似的效果,例如:

foreach($soapResponse as $key1 => $value1){
    foreach($value as $key2 => $value2){
        // $key1 = Place A or B
        // value1 = array of values
        $arrayResponse[$key1][$key2] =  $value2;
    }
}

这将非常接近于产生您所寻找的内容,为了让它完全复制您所拥有的内容,您可以使用
数组将每个
'Place A'
包装起来,每个“Place”都会得到自己对某个变量的赋值
$foo
(我假设这实际上不是您想要的,并编写了一些可能更直观的东西).

如果你想要一个“不那么复杂”的数组,你有两个数组,一个前置a,一个前置b,然后使用array_merge()合并它们


研究手册中的阵列功能和控制结构。实现臃肿数组的许多不同方法都会破坏代码。

这将动态创建一个数组


您希望放入数组的数据是什么样子的?执行var\u转储(soap\u响应);要查看数据,我很乐意,但它超过15000行。我会抓住一个片段。但答案如下所示:谢谢这就是我想要的。我只是不知道如何重复地向数组添加内容。当我试图给每个位置一个数字数组id时,我不断得到非法偏移和其他偏移错误。第一个阵列是mahoosive,数据遍布整个商店。我试着把它设置成一个数组,我可以把它保存在内存中,然后去掉那个大数组。