2014-05-11 23 views
0
array (size=2) 
0 => 
array (size=7) 
    'id' => string '66' (length=2) 
    'room_name' => string 'Luxury' (length=6) 
    'no_of_room' => string '0' (length=1) 
    'price' => string '1000' (length=4) 
    'description' => string 'dfh dvsrtruub dsgd' (length=19) 
    'image' => string 'arrow.jpg' (length=9) 
    'hotel_id' => string '1' (length=1) 
1 => 
array (size=7) 
    'id' => string '65' (length=2) 
    'room_name' => string 'Deluxe' (length=6) 
    'no_of_room' => string '4' (length=1) 
    'price' => string '800' (length=3) 
    'description' => string 'rybsvssfd' (length=9) 
    'image' => string '2P2Z4.png' (length=9) 
    'hotel_id' => string '1' (length=1) 

嗨,這是數組,當我做var_dump。我想走數組並在每個數組內添加兩個元素。我想要的是:如何使用動態變量進行數組漫遊?

$checkin = "2014-2-4" //i will be changed according to textbox value. 

array (size=2) 
0 => 
array (size=8) 
    'id' => string '66' (length=2) 
    'room_name' => string 'Luxury' (length=6) 
    'no_of_room' => string '0' (length=1) 
    'price' => string '1000' (length=4) 
    'description' => string 'dfh dvsrtruub dsgd' (length=19) 
    'image' => string 'arrow.jpg' (length=9) 
    'hotel_id' => string '1' (length=1) 
    'check_in_date' => null 
    1 => 
    array (size=8) 
    'id' => string '65' (length=2) 
    'room_name' => string 'Deluxe' (length=6) 
    'no_of_room' => string '2' (length=1) 
    'price' => string '800' (length=3) 
    'description' => string 'rybsvssfd' (length=9) 
    'image' => string '2P2Z4.png' (length=9) 
    'hotel_id' => string '1' (length=1) 
    'check_in_date' => null 

array_walk($jsonArray, create_function('&$subarray', '$subarray[check_in_date] =$check_in;')); 

在上面的array_walk函數,當我使用$ check_in,它給了我null,但沒有價值。爲什麼有什麼不對或array_walk我沒有用於我的目的。請幫幫我。提前致謝。

+0

你知道的關鍵陣列?那是一個二維數組還是單個數組? – user3587554

+0

它認爲它的2D陣列..但不確定。我需要通過分配特定字符串名稱的鍵。 – user3621109

回答

0

對於PHP 5.3+

如果你使用PHP 5.3+,您可以使用匿名函數與use語法變量導入功能範圍:

array_walk($jsonArray, function (&$subarray) use ($checkin) { 
    $subarray['check_in_date'] = $checkin; 
}); 

對於舊版本的PHP

如果您使用的是較早版本的PHP,則可能會使用create_function()卡住。您可以使用global關鍵字將變量導入到函數作用域中。請注意,這是哈克,你真的應該考慮升級您的PHP版本,而不是使用這種方法:

array_walk($array, create_function(
    '&$subarray', 
    'global $checkin; $subarray["check_in_date"] = $checkin;' 
)); 

Demo

+0

非常感謝。 @amal murali。它的工作完美。 – user3621109

+0

@ user3621109:我很高興能幫上忙。乾杯! –