Php 使用Foreach的唯一数组值
我有这个数组Php 使用Foreach的唯一数组值,php,arrays,Php,Arrays,我有这个数组 Array ( [0] => posts Object ( [title] => test1 [dbh] => DataBase Object ( [dbh] => PDO Object ( ) ) ) [1] => pos
Array
(
[0] => posts Object
(
[title] => test1
[dbh] => DataBase Object
(
[dbh] => PDO Object ( )
)
)
[1] => posts Object
(
[title] => test1
[dbh] => DataBase Object
(
[dbh] => PDO Object ( )
)
)
[2] => posts Object
(
[title] => test2
[dbh] => DataBase Object
(
[dbh] => PDO Object ( )
)
)
)
我不能使用array_unique(),因为无法将对象转换为字符串。最好的方法是不要使用foreach。您应使用:
for ($i = 0; $i < count($array); $i++) {
for ($j = $i + 1; $j < count($array); $j++) {
if ($array[$i] === $array[$j]) {
unset($array[$j]);
$array = array_values($array);
}
}
}
…用于检查标题是否相同以及
数据库
对象是否属于同一实例。是的,这是一个可捕获的致命错误:类帖子的对象无法转换为字符串…这是来自数据库吗?如果是,您能否调整查询以避免重复?
if ($array[$i]->title === $array[$j]->title && $array[$i]->dbh === $array[$j]->dbh) {