【发布时间】:2015-06-16 11:41:24
【问题描述】:
我有两个数组。第一个数组保存这些值。
[a] => stdClass Object
(
[name] => Chris
[id] => AaKk4j0abEkJSSxYKKnss2LTZc9BmMDrYmm1TFxkIHR8PSU50OagCsl2pgJjVTm7MrkVBVcJgydJGViRU4HHClyWVm3arL4Y5cdWKyZQHtdltg
)
[b] => stdClass Object
(
[name] => John
[id] => AaL4_sWesWgGcHsd3eoBB3NDvpekzTQHE1J9zLUJs6zZPY7urzXzuhvA3uWuW0IOGiRJPznFsCIJFzZkm2_vIlSU93njnSwgiJbM1fmI9fUulw
)
[c] => stdClass Object
(
[name] => James
[id] => AaJ3g8G-nssIY7rhMq6pGMI5989ICREh7_MQ37Vre8oNuaBkO-HFgNUWcH2tZdyFwsWOv_kG4eVliss-FY_HmRFh4gmROJKkFCFKMjzatc_2iw
)
第二个数组保存这些值。
[d] => stdClass Object
(
[id] => 1003880559625244
[name] => Aftab
)
[e] => stdClass Object
(
[id] => 448636891977424
[name] => John
)
[f] => stdClass Object
(
[id] => 809530442478820
[name] => James
)
[g] => stdClass Object
(
[id] => 809530442478820
[name] => Chris
)
我正在尝试比较两个数组并仅获取不匹配的值。
例如,在这种情况下,Aftab 是数组 1 中不存在且唯一的那个。
我曾尝试在 PHP 中使用 array_diff() 函数执行此操作,但出现此错误:
可捕获的致命错误:stdClass 类的对象无法转换为字符串
【问题讨论】:
-
两个数组中的名称值是否唯一?
-
所有 id 都是唯一的,而不是名称。我必须选择所有不匹配的名称
-
您的示例中的 ID 不一样。如果您在两个记录集中都有唯一且一致的内容,则只需循环两个数组并将索引替换为一致的标识符,然后使用
array_diff_key()
标签: php arrays object array-difference