Php 如何使用动态变量进行数组遍历?
嗨,这是我做var_转储时的数组。我想遍历数组并在每个数组中添加两个元素。我想要的是:Php 如何使用动态变量进行数组遍历?,php,arrays,Php,Arrays,嗨,这是我做var_转储时的数组。我想遍历数组并在每个数组中添加两个元素。我想要的是: 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=
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)
在上面的array_walk函数中,当我使用$check_-In时,它会给我null,但不是值。为什么会有我没有用的错误或错误。请帮帮我。提前感谢。对于PHP5.3+ 如果您使用的是PHP 5.3+,则可以使用带有
use
语法的匿名函数将变量导入函数范围:
$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;'));
适用于旧版本的PHP
如果您使用的是旧版本的PHP,则可能会在使用create\u function()
时遇到问题。您可以使用global
关键字将变量导入函数范围。请注意,它是HACKY,您确实应该考虑升级PHP版本,而不是使用这种方法:
array_walk($jsonArray, function (&$subarray) use ($checkin) {
$subarray['check_in_date'] = $checkin;
});
您知道数组的键吗?那是二维数组还是单个数组?想想它的二维数组。。但不确定。我需要传递指定特定字符串名称的密钥。非常感谢@阿马尔壁画。它工作得很好。@user3621109:我很高兴能帮上忙。干杯
array_walk($array, create_function(
'&$subarray',
'global $checkin; $subarray["check_in_date"] = $checkin;'
));