循环时跳过数组插入


Skip array insertion on looping

如果最后一个值等于新的值,如何跳过插入数组?下面的代码产生了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);
$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;
    }
}

使用array_unique()

$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;
}

简单:

$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; 
}

使用array_unique()

$numArray = array('1','2','3','4','5','5','5','5','5','5','5','6','6','7');
echo json_encode(array_unique($numArray));

试试这个:

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"只包含原子值。

您可以使用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;
}
if (end($NumArray) != $someNewValue){
    $NumArray = $someNewValue;
}