在循环中跳过数组插入
如果在最后一个值等于新来的值时如何跳过插入数组?下面的代码产生12345555555667,但我只想要1234567,意思是不是一个值是重复的。在循环中跳过数组插入
$NumArray = array('1','2','3','4','5','5','5','5','5','5','5','6','6','7');
$SecondArray = array();
foreach($NumArray as $num){
$SecondArray[] = array(
'alpa'=>$num
);
}
echo json_encode($SecondArray);
if (end($NumArray) != $someNewValue){
$NumArray = $someNewValue;
}
按上一个值,它们的意思是循环的最后一个值,而不是数组中的最后一个值。 – jd182 2015-02-10 14:37:27
为真。我不明白问题。 – 2015-02-10 14:38:16
$NumArray = array();
$numArray = array('1','2','3','4','5','5','5','5','5','5','5','6','6','7');
foreach($NumArray as $num){
if ($previousNumber != $num) {
echo $num;
$previousNumber = $num;
}
}
我会劝阻使用'继续'强硬,只是颠倒'if'语句中的条件。 – 2015-02-10 14:39:14
$ NumArray = array('1','2','1' – 2015-02-10 14:39:31
@ b.enoit.be:为什么你会不鼓励使用'continue'? – 2015-02-10 14:41:47
$NumArray = array();
$NumArray =array('1','2','3','4','5','5','5','5','5','5','5','6','6','7');
$NumArray = array_unique($NumArray) ;
foreach($NumArray as $num){
echo $num;
}
为什么要下投票? – Shin 2015-02-10 14:59:28
您可以使用array_unique
得到一个数组的独特价值,然后对它们进行迭代。
$NumArray = array('1','2','3','4','5','5','5','5','5','5','5','6','6','7');
$unique_arr = array_unique($NumArray) ;
foreach($UniqueArray as $num){
echo $num;
}
或只需要echo'implode(“”,array_unique($ NumArray));' – jurgemaister 2015-02-10 14:39:10
请注意,如果数组未被排序,这种方式将失败。 – 2015-02-10 14:39:12
即使未排序,它也不会失败,PHP选择数组中所有元素的唯一值 – Qurashi 2015-02-10 14:43:35
简单:
$NumArray = array('1','2','3','4','5','5','5','5','5','5','5','6','6','7');
$NumArray = array_unique($NumArray);
连:
$NumArray = array_unique(array('1','2','3','4','5','5','5','5','5','5','5','6','6','7'));
这将确保当你第一次填充阵列唯一独特的元素被添加。编辑:
if (!in_array($someNewValue, $NumArray))
{
$NumArray[] = $someNewValue;
}
$numArray = array('1','2','3','4','5','5','5','5','5','5','5','6','6','7');
echo json_encode(array_unique($numArray));
有人可能想解释为什么downvote? – Robert 2015-02-10 14:51:30
试试这个:
for ($i = 0; $i <count($NumArray); $i++)
{
for ($k = $i+1; $k <count($NumArray); $k++)
{
if ($k != $i && $NumArray[$i] == $NumArray[$k])
{
$NumArray[$k]="";
}
}
}
现在阵列 'NumArray' 只包含原子值。
这是根本不可读的 – 2015-02-12 03:25:57
“if last value is equal to new coming value” – 2015-02-10 14:35:30
http://php.net/end'if(end($ arr)!= $ new_value){$ arr [] = $ new_value}' – 2015-02-10 14:36:33
[array_unique ](http://php.net/manual/en/function.array-unique.php)? – jurgemaister 2015-02-10 14:37:01