如何在foreach中拆分存储的变量名称

时间:2016-06-28 11:22:49

标签: php

我如何知道变量?

foreach($tree as $key => $value){
  if (in_array($value['name'], $arr_folders)) {
    ${'id_'.$value['name']} = $value['id'];
  }
  //how to know variables?
  $id_???

目前我知道$value['name']即。它可能是一,二,三等,但如何使用它们

echo $id_one;

我想在这里知道将它们分成一个数组。所以我可以使用

print_r($vars);会导致$id_one, $id_two,等。

2 个答案:

答案 0 :(得分:1)

这样的东西?

<?php
    $array = [];

    foreach($tree as $key => $value){
        if (in_array($value['name'], $arr_folders)) {
            $array[] = $value['id'];
        }
    }

    print_r($array);

答案 1 :(得分:0)

您可以按代码找到变量:

foreach (get_defined_vars() as $var_name => $var_value) {
    if(strpos($var_name, 'id_') ===0 ){
        //it's your variable
    }
}

但是在本地范围内存储变量看起来不对。

可以更好地存储到其他阵列:

$arIds = array();
foreach($tree as $key => $value){
  if (in_array($value['name'], $arr_folders)) {
     $arIds['id_'.$value['name']] = $value['id'];
  }
}