サイトにページがあり、xml を解析して結果を配列に挿入する必要があります。しかし、配列の部屋を挿入しようとすると、次のエラーが発生します。
Indirect modification of overloaded element of SimpleXMLElement has no effect
エラーは次の行にあります。
$hotel_array[$id]['rooms'][$i] = $room_array;
これは私のコードです:
$hotel_array = array();
//$xml->data is a valid xml parsed with simpleXML
foreach ($xml->DATA as $entry){
foreach ($entry->HOTEL_DATA as $entry2){
$id = (string)$entry2->attributes()->HOTEL_CODE;
if($entry2->attributes()->HOTEL_CODE=='YYG'){
$exist = 0;
if (array_key_exists('YYG', $hotel_array))
$exist = 1;
$hotel_array[$id] = $entry2->attributes()->HOTEL_CODE;
$i=0;
foreach($entry2->ROOM_DATA as $room){
$room_array = array();
$room_array['id'] = $room->attributes()->CCHARGES_CODE;
$room_array['code'] = $room->attributes()->ROOM_CODE;
$room_array['name'] = utf8_decode($room->ROOM_NAME);
>attributes()->NO_OF_EXTRA_BEDS;
$hotel_array[$id]['rooms'][$i] = $room_array;
$i++;
}
}
}