HTML
<form method="post">
<input type="text" name="values" value="1,2,1,3,4,2,2,5" />
<button type="submit">Submit</button>
</form>
PHP
if(isset($_POST['values']))
{
$values = $_POST['values']); //remove duplicate numbers
echo $values;
}
输出
1,2,3,4,5
那怎么办?首先排序数字?然后通过循环运行它们?
答案 0 :(得分:4)
你的直觉是正确的:你要排序然后循环。
但PHP已经有内置功能,可以为您完成所有工作。像这样:
array_unique(explode(',', $_POST['values']));
如果您需要再次使用字符串,请使用implode:
implode(',', array_unique(explode(',', $_POST['values'])));
答案 1 :(得分:1)
你想要的是array_unique。用逗号分解$值,得到数组,然后调用array_unique。
<?php
$values = explode(',', $_POST['values']);
var_dump(array_unique($values));
答案 2 :(得分:1)
<?php
$values = '6,5,4,1,2,1,3,4,2,2,5';
$values = explode(',', $values);
$values = array_unique($values);
sort($values);
$values = implode(',', $values);
// $values = 1,2,3,4,5,6
答案 3 :(得分:1)
按照步骤:
,
作为分隔符的第一个explode字符串数组。示例:强>
$values = "1,2,1,3,4,2,2,5";
echo implode( ',' , array_unique( explode( ',', $values) ) );
答案 4 :(得分:0)
$array=array_unique(explode(',',$_POST['values']));
$values=implode(',',$array);
答案 5 :(得分:0)
将您的代码更改为:
if(isset($_POST['values']))
{
$values = $_POST['values']);
//remove duplicate numbers
$values = explode(',', $values);
$values = array_unique($values);
$values = implode(',', $values);
echo $values;
}