我已经尝试了一段时间。我已经尝试了几种方法来解决这个问题,但我就是无法让它发挥作用。
我的代码:
<?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的对象无法转换为字符串
我不知道发生了什么事。我找了好几个小时了,但在这里什么都没找到。非常感谢您的帮助。谢谢
当您查看深度内部时,不能在多维数组上使用array_unique
。它适用于平面,当然不会适用于弦。另一种选择是为其创建另一个容器,并使用用户名作为密钥,然后您将获得唯一的用户名。
由于您还没有显示数组/对象结构,这里有一点关于我上面给出的评论的想法:
$container = array();
foreach($row as $data) {
if(!isset($container[$data->username])) {
$container[$data->username] = $data;
}
}
// $container = array_values($container); // optional simple reindex