所以我有此對象:和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"
}
]
現在我通過在嵌套的foreach這兩個對象循環循環頂部比較兩個對象中的哪些數組是相等的(等於鍵和值對)。
下面是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請你能澄清我這一點。前兩個我被稱爲對象,我認爲他們是包含數組的對象?那是我混淆的地方嗎? –