に基づいてアクセス兄弟/子キーの値が(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'だけつのアレイを有するの検索'値:徒歩後、収集された値は、単に、所望の分離(
/
)を使用して接合されています= '並べ替え'? – Jeffこの関数は何も返さないので、最後の行は何も印刷しません – Jeff
再帰関数をどのように書いているのか分かりにくいので、キーと値を選択できませんでした。これは宿題の質問ですか? –