Php 删除重复的元素
我为cycle创建了Php 删除重复的元素,php,arrays,Php,Arrays,我为cycle创建了,在那里我从列表中创建了一个名称数组,我需要做的是删除重复的值,然后我得到这个数组: 数组([0]=>Tod[1]=>Admin[2]=>Tod) $c=count($\u会话['cart']); $list_array=array(); 对于($i=0;$i使用,它返回一个没有重复值的新数组 $input = array("a" => "green", "red", "b" => "green", "blue", "red"); $result = array_
,在那里我从列表中创建了一个名称数组,我需要做的是删除重复的值,然后我得到这个数组:
数组([0]=>Tod[1]=>Admin[2]=>Tod)
$c=count($\u会话['cart']);
$list_array=array();
对于($i=0;$i使用,它返回一个没有重复值的新数组
$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
输出
Array
(
[a] => green
[0] => red
[1] => blue
)
但是,您需要将$list\u数组
移动到for
循环之外,并在条件语句中使用该数组,如下所示:
$c=count($_SESSION['cart']);
// if this is in the loop, it will get overwritten
$list_array = array();
for($i=0;$i<$c;$i++){
$id=$_SESSION['list'][$i]['id'];
$person=get_person($id);
// originally, you had $users_array in in_array and array_push
if(!in_array($person, $list_array ))
$list_array[] = $person;
}
$c=count($\u会话['cart']);
//如果这在循环中,它将被覆盖
$list_array=array();
for($i=0;$i在数组中
在传递数组时检查字符串。与数组
相同,它不用于检查多维数组。因此,热修复程序
$person=get_person($id)[0];
另外请参考:我以前尝试过使用此选项,但仍然会得到重复的值如果我添加[0]我只得到名称的第一个字母我刚刚意识到你的错误..我们的零件有很大的疏忽。如果我在尝试打印时将$names\u array=array();
移出for循环,我会得到这个:array()这会导致一个错误。..get_person是一个使用mysql查询的简单函数,然后循环收集ar结果。函数get_person($id){$result=mysql_查询(“从列表中选择人,其中id=$id”);mysql_set_字符集(“UTF8”);$row=mysql_fetch_数组($result);返回$row['person'];}
返回$row['person'][0];
然后呢?我的意思是,如果你的$person被推到数组([0]=>Tod)
那么很明显,你不能期望一个列表被清理和检查正确。正如我上面提到的,我也只得到了名字的第一个字母。这太糟糕了……:/
$person=get_person($id)[0];