Функция Php для поиска в массиве объектов с использованием строки - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь найти код для поиска строки в массиве объектов, если строка найдена, получить значения объекта подменю. Например, если найдена строка «main / dashboard», тогда получить подменю

stdClass Object
(
[type] => single
[slug] => view_admin_dashboard
[menus] => stdClass Object
    (
        [label] => Dashboard
        [icon] => dashboard
        [url] => main/dashboard
    )
[submenus] => Array
    (
        [0] => stdClass Object
            (
                [submenu_slug] => view_all_users
                [label] => View all Users
                [icon] => users
                [url] => main/users/all
            )
        [1] => stdClass Object
            (
                [submenu_slug] => delete_users
                [label] => Delete Users
                [icon] => users
                [url] => main/user/delete
            )
    )
)

Пока у меня это есть, но из-за ошибки in_array ожидает, что параметр 2 будет массивом;

foreach($mainarray as $menus => $menu){
   if(in_array("main/dashboard",$menu)){
      foreach($menu as $submenu){
         echo $submenu->url;
      }
   }
}

1 Ответ

0 голосов
/ 17 мая 2019

Может быть, вы хотите что-то вроде этого:

foreach($mainarray as $menu){
   if($menu->menus->url == "main/dashboard"){ // if found the url in the object
      foreach($menu->submenus as $submenu)
         echo $submenu->url;
      }
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...