Добрый вечер,Поиск 4 уровня вложенности массив в PHP
я оказался в немного рассола здесь, с усложненной (я думаю) $ _SESSION массив, который устанавливается сразу после входа пользователя в систему и содержит информацию обо всех группах пользователей, в которых этот пользователь включен, а также этот тип прав пользователя для группы устройств, в которой разрешена эта конкретная группа пользователей.
Вот сделка с неактуальной информацией опущен:
Array
(
... other stuff ...
[user_groups] => Array
(
[0] => Array
(
[GroupUsersId] => 4
[GroupUsersName] => XXXX
[idUserType] => 2
[NameTypeUser] => Manager
[DevicesAllowed] => Array
(
[GroupDevicesId] => Array
(
[0] => 2
)
[DevicesOnGroup] => Array
(
[0] => 22,24,16
)
)
)
[1] => Array
(
[GroupUsersId] => 5
[GroupUsersName] => YYYY
[idUserType] => 3
[NameTypeUser] => Guest
[DevicesAllowed] => Array
(
)
)
[2] => Array
(
[GroupUsersId] => 1
[GroupUsersName] => ZZZ
[idUserType] => 1
[NameTypeUser] => Admin
[DevicesAllowed] => Array
(
[GroupDevicesId] => Array
(
[0] => 2
)
[DevicesOnGroup] => Array
(
[0] => 1,5,13,12,17,21,22,24,16
)
)
)
)
... more stuff ...
Мне нужно выяснить, какого рода разрешений, если таковые имеются, делает парень, если пытается просматривать устройства с, скажем, DeviceId = 5 Если этот конкретный идентификатор не находится на каком-либо из массивов, пользователю даже не разрешено его видеть ...
Я уже пытался изменить код в этом вопросе How to search by key=>value in a multidimensional array in PHP, но, я думаю, что мне не хватает некоторых вид итерации по массивам.
Любая помощь?
Приветствия и спасибо заранее.
Edit: $ _SESSION может быть изменен, если это необходимо ...
Вы не хватает точки на всем другом ... это почти то, что я хочу достичь. Но мне не нужен массив для переменной $ rights. Поскольку некоторые группы устройств могут перекрываться, и пользователь может иметь доступ к одному и тому же устройству 2 или 3 раза (вы делаете это в своем примере) ... теперь мне просто нужно проверить, что является самым низким «idUserType» (1 = Admin; 2 = Менеджер; 3 = Гость; Не установлен = даже не может видеть, что устройство существует ...), чтобы дать разрешения соответствующим образом. Не знаю, если я сделаю себе ясно ... –
Привет. Отлично. Я редактировал код выше, чтобы (надеюсь) дать вам то, что вы хотите. – jhutar
Yup! Я работал над вашим кодом и получил то же самое. Это точно! Благодарю. –