多维数组/对象上唯一的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