Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.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_Foreach_Variable Variables - Fatal编程技术网

Php 动态地将索引附加到变量

Php 动态地将索引附加到变量,php,foreach,variable-variables,Php,Foreach,Variable Variables,所以我有不同长度的数组 pathes= array(array('f1e9'), array('c0d9', '0', 'form_values', '6e13') ); 对于每个路径,我希望使用每个值作为索引来扫描单独的数组 foreach ($pathes as $key => $val){ $new_path = '$array_to_search'; foreach ($val as $index){ $newpath

所以我有不同长度的数组

pathes= array(array('f1e9'),
              array('c0d9', '0', 'form_values', '6e13')
);
对于每个路径,我希望使用每个值作为索引来扫描单独的数组

foreach ($pathes as $key => $val){

    $new_path = '$array_to_search';

    foreach ($val as $index){
       $newpath .= '[' . $index . ']';
    }
}
因此,在循环中,$new_path变量将是一个如下所示的字符串:

$new_path = '$array_to_search['f1e9']'

但是我必须能够计算这个字符串,我不知道怎么做

我想答案可能就在变量中,但我不知道该怎么做


衷心感谢您的帮助。非常感谢

我认为下面的递归函数将是这里的解决方案:

function getByPath($value, array $path)
{
  if (empty($path)) return $value;
  if (!is_array($value)) return;
  if (array_key_exists($path[0], $value)) return getByPath($value[$path[0]], array_slice($path, 1));
}

我认为以下递归函数将是这里的解决方案:

function getByPath($value, array $path)
{
  if (empty($path)) return $value;
  if (!is_array($value)) return;
  if (array_key_exists($path[0], $value)) return getByPath($value[$path[0]], array_slice($path, 1));
}

谢谢我必须补充很多,因为我所做的有多个部分,但这肯定会让我走上正确的道路。非常感谢,谢谢!我必须补充很多,因为我所做的有多个部分,但这肯定会让我走上正确的道路。非常感谢。