Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用动态变量进行数组遍历?_Php_Arrays - Fatal编程技术网

Php 如何使用动态变量进行数组遍历?

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=

嗨,这是我做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=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;'
));