我想了解使用「選擇器」可以在多維數組中找到元素的方式。PHP:通過字符串選擇器查找數組元素
$vars = array(
'site' => 'Stackoverflow',
'menu' => array(
'items' => array('Questions', 'Tags', 'Users', 'Badges', 'Unanswered'),
),
'sidebar' => array(
'tags' => array(
'c_sharp' => 68,
'java' => 62,
'javascript' => 52,
'jquery' => 50
)
)
);
我想有一些功能mixed find(string $selector, array $array)
。
使用
$site = find('site', $vars);
// result: "Stackoverflow"
$menuItems = find('menu.items', $vars);
// result: ["Questions", "Tags", "Users", "Badges", "Unanswered"]
$tags = find('sidebar.tags', $vars);
// result: ["c_sharp" => 68, "java" => 62, "javascript" => 52, "jquery" => 50]
$javascriptQuestionsCount = find('sidebar.tags.javascript', $vars);
// result: 52
$undefinedElement = find('footer.copyright.year', $vars);
// result: null
任何人都可以給我建議的方式來實現這種功能或許有一些現成的解決方案?
在此先感謝。
Laravel有一個函數可以做到這一點,它被稱爲[array_get()](https://github.com/laravel/laravel/blob/master/laravel/helpers.php#L59-78) –
你試過了嗎?執行它?從我看到的你只需要'explode('。',$ selector)',這看起來很簡單。 – Passerby