我已经尝试了一段时间。我已经尝试了几种方法来解决这个问题,但我无法让它发挥作用。
我的代码:
<?php
if (is_array($row))
{
foreach ($row as $data) {
echo array_unique($data->username);
}
}
?>
它给我以下错误
消息:array_unique()期望参数1为数组,字符串为
我不知道这是怎么回事。我甚至尝试将array_unique
放入$row
。
所以喜欢:
<?php
if (is_array($row))
{
foreach (array_unique($row) as $data) {
echo $data->username;
}
}
?>
但这给了我另一个错误:
类stdClass的对象无法转换为字符串
我不知道发生了什么。我搜索了几个小时,但在这里找不到任何东西。任何帮助是极大的赞赏。感谢。
答案 0 :(得分:1)
当你在深度内观察时,你不能在多维数组上使用array_unique
。它在平板上工作,当然不会在字符串上工作。另一种方法是为其创建另一个容器并使用用户名作为键,然后您将获得唯一的容器。
由于您还没有显示数组/对象结构,这里有一点关于我上面给出的评论的想法:
$container = array();
foreach($row as $data) {
if(!isset($container[$data->username])) {
$container[$data->username] = $data;
}
}
// $container = array_values($container); // optional simple reindex