Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多维数组/对象上唯一的PHP数组_Php_Arrays - Fatal编程技术网

多维数组/对象上唯一的PHP数组

多维数组/对象上唯一的PHP数组,php,arrays,Php,Arrays,我已经试了一段时间了。我已经尝试过几种方法来解决这个问题,但我就是无法让它发挥作用 我的代码: <?php if (is_array($row)) { foreach ($row as $data) { echo array_unique($data->username); } } ?> 但这给了我另一个错误: 类stdClass的对象无法转换为字符串 我不知道发生了什么事。我找了好几个小时,但在这上面什么也没找到。非常感谢您的帮助。谢谢。

我已经试了一段时间了。我已经尝试过几种方法来解决这个问题,但我就是无法让它发挥作用

我的代码:

<?php
if (is_array($row))
{
    foreach ($row as $data) {

        echo array_unique($data->username);
    } 
}
?>
但这给了我另一个错误:

类stdClass的对象无法转换为字符串


我不知道发生了什么事。我找了好几个小时,但在这上面什么也没找到。非常感谢您的帮助。谢谢。

当您查看深度时,您不能在多维数组上使用
array\u unique
。它适用于平底琴,当然也不适用于弦乐。另一种方法是为它创建另一个容器,并使用用户名作为键,然后您将得到唯一的

由于您还没有显示数组/对象结构,这里有一点关于我在上面给出的评论的想法:

$container = array();
foreach($row as $data) {
    if(!isset($container[$data->username])) {
        $container[$data->username] = $data;
    }
}
// $container = array_values($container); // optional simple reindex

输出:
print\r($row)是?预期产出是
array\u unique
可以在平面阵列上工作,即使您将
(array)$row
转换为array,它仍然无法工作,只需创建一个临时容器来检查hey@Ghost您已经回答了我所有问题的75%:)谢谢:)你到底是什么意思?谢谢:)@TaylorSwift很高兴我能再次提供帮助
$container = array();
foreach($row as $data) {
    if(!isset($container[$data->username])) {
        $container[$data->username] = $data;
    }
}
// $container = array_values($container); // optional simple reindex