值在此陣列(如JSON):PHP - 陣列 - 接入的兄弟姐妹/子鍵基於關鍵
{
"token_name": "C_ROOT",
"token_group": "C_BLOCK",
"group": true,
"body": [
[
{
"token_name_org": "T_VARIABLE",
"token": 320,
"value": "sort",
"line": 2,
"token_group": "VARIABLES",
"token_name": "C_VARIABLE"
},
{
"token_name_org": "C_ASSIGNMENT_EQUAL",
"line": 2,
"value": "=",
"token": "VALUE",
"token_group": "ASSIGNMENTS"
},
{
"token_name_org": "T_VARIABLE",
"token": 320,
"value": "_GET",
"line": 2,
"token_group": "VARIABLES",
"token_name": "C_VARIABLE",
"args": [
[
{
"token_name_org": "T_CONSTANT_ENCAPSED_STRING",
"token": 323,
"value": "sort",
"line": 2,
"token_group": "STRINGS",
"token_name": "C_STRING"
}
]
]
}
]
]
}
寫這段代碼搜索鍵「值」爲「排序」。
public function search_var($array,$var)
{
foreach($array as $key=>$value)
{
if(is_array($value))
{
$this->search_var($value,$var);
}else{
if(isset($array["value"]) && $array["value"] == $var)
{
print $value."\n";
}
}
}
}
print_r($scanner->search_var($map,"sort"));
不知道如何在我的代碼中引用兄弟姐妹和孩子?即
現在輸出的是:
T_VARIABLE
320
sort
2
VARIABLES
C_VARIABLE
我怎樣才能使我看到的只有輸出:
/sort/=/_GET/sort
在兄弟之間的「/」是一個關鍵的「價值」的每個值或子女(最後一種情況)
感謝,
如何可以將輸出是'/排序/ =/_ GET/sort'時,你只搜索具有一個陣列'值:散步後,所收集的值是使用所期望的分離器(
/
)簡單地加入='sort''? – Jeff並且該函數不返回任何內容,所以最後一行將不會打印任何內容 – Jeff
我很努力地看到你如何編寫遞歸函數,然後無法選擇鍵和值。這是一個功課問題嗎? –