Так что у меня этот объект:array_diff_assoc() аргумент # 1 не является PHP массив
[
{
"id":1,
"name":"create-users",
"display_name":"Create user",
"description":"Add new user"
},
{
"id":2,
"name":"edit-user",
"display_name":"Edit user",
"description":"Edit existing user"
},
{
"id":3,
"name":"create-post",
"display_name":"Create post",
"description":"create new post"
},
{
"id":4,
"name":"edit-post",
"display_name":"Edit post",
"description":"edit existing post"
}
]
и это еще один:
[
{
"id":3,
"name":"create-post",
"display_name":"Create post",
"description":"create new post"
},
{
"id":4,
"name":"edit-post",
"display_name":"Edit post",
"description":"edit existing post"
}
]
Теперь я зацикливание через эти два объекта в гнездовой Еогеасп loops top сравнивают, какие массивы из двух объектов равны (равные пары ключей и значений).
Вот Foreach петли:
foreach ($role_perms as $role_perm) {
foreach ($all_perms as $all_perm) {
if (array_diff_assoc($all_perm, $role_perm)) {
$all_perm['check'] = 1;
}
}
}
Но я понятия не имею, почему я получаю ошибку
array_diff_assoc(): Аргумент # 1 не является массивом (на линии кода с оператором if.)
Я что-то не так? Спасибо за любую помощь
'var_dump ($ all_perm, $ role_perm);' – Federkun
Вы путаете "массив" и "объект". – arkascha
@arkascha, пожалуйста, вы можете мне разъяснить это. Первые два, которые я назвал объектами, я думал, что это объекты, содержащие массивы? Это где я его смущаю? –