Hi this is my var_dump result. My problem is : If my array contains more than once the same "name"(in my case "Test2"), then remove one of them. In my case all of the information from [0] or [1]. Thx.
嗨这是我的var_dump结果。我的问题是:如果我的数组包含多个相同的“名称”(在我的情况下为“Test2”),则删除其中一个。就我而言,来自[0]或[1]的所有信息。谢谢。
array(3) {
[0]=>
object(stdClass)#24 (14) {
["name"]=>
string(19) "Test2"
["taskid"]=>
string(5) "11526"
}
[1]=>
object(stdClass)#25 (14) {
["name"]=>
string(19) "Test2"
["taskid"]=>
string(5) "11526"
}
[2]=>
object(stdClass)#26 (14) {
["name"]=>
string(19) "Test1"
["taskid"]=>
string(5) "11525"
}
}
I want this result :
我想要这个结果:
array(3) {
[0]=>
object(stdClass)#24 (14) {
["name"]=>
string(19) "Test2"
["taskid"]=>
string(5) "11526"
}
[1]=>
object(stdClass)#26 (14) {
["name"]=>
string(19) "Test1"
["taskid"]=>
string(5) "11525"
}
}
2 个解决方案
#1
1
In you example dublicates not an arrays but objects, so you need to combine like this array_map
and array_unique
:
在你的例子中,dublicates不是数组而是对象,所以你需要像这个array_map和array_unique一样组合:
$arrayResult = array_map("unserialize", array_unique(array_map("serialize", $inputArray)));
Or try
或者试试
$arrayResult = array();
foreach ( $inputArray as $item ) {
isset($arrayResult[$item->taskid]) or $arrayResult[$item->taskid] = $item;
}
var_dump($arrayResult);
#2
0
You can use array_unique() function
您可以使用array_unique()函数
#1
1
In you example dublicates not an arrays but objects, so you need to combine like this array_map
and array_unique
:
在你的例子中,dublicates不是数组而是对象,所以你需要像这个array_map和array_unique一样组合:
$arrayResult = array_map("unserialize", array_unique(array_map("serialize", $inputArray)));
Or try
或者试试
$arrayResult = array();
foreach ( $inputArray as $item ) {
isset($arrayResult[$item->taskid]) or $arrayResult[$item->taskid] = $item;
}
var_dump($arrayResult);
#2
0
You can use array_unique() function
您可以使用array_unique()函数