2016-06-28 47 views
0

我怎樣才能知道變量?如何分解存儲的變量名稱內部foreach

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

目前我知道$value['name'] ie。它可能是一個,兩個,三個等,但如何使用它們

echo $id_one; 

我想知道在這裏把它們拆分成一個數組。所以,我可以使用

print_r($vars);這將導致$id_one, $id_two,等。

+4

http://stackoverflow.com/help/how-to-ask。仔細閱讀 –

+0

我編輯了我的問題。我認爲現在很清楚了? – user3556802

+0

http://stackoverflow.com/questions/38046534/how-to-assign-id-based-on-array-values –

回答

1

像這樣的事情?

<?php 
    $array = []; 

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

    print_r($array); 
+0

謝謝。我會試試這個。 – user3556802

+0

讓我知道如果我能幫助你解決/解釋的東西。如果這適用於您,請將其標記爲已接受的答案:) – b0ne

+0

echo $ array [0];不起作用。 – user3556802

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']; 
    } 
} 
+0

請重新檢查我編輯的問題。 thanx – user3556802