Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果值相同,如何跳过foreach?_Php_Loops - Fatal编程技术网

Php 如果值相同,如何跳过foreach?

Php 如果值相同,如何跳过foreach?,php,loops,Php,Loops,我有循环值和代码 foreach($season as $seasons){ echo $seasons->Combined_season ; } 结果是00000000 11111111111111111 22222222222233333333333 444444444444444 5555555 如果存在相同的值,如何跳过? 我希望结果是 012345您正在寻找“唯一”值: 您正在查找“唯一”值: 使用“数组方法”可能是最好的方法。但是,如果您的结果像示例中那样进

我有循环值和代码

foreach($season  as $seasons){  
echo  $seasons->Combined_season ; 
   } 
结果是00000000 11111111111111111 22222222222233333333333 444444444444444 5555555

如果存在相同的值,如何跳过? 我希望结果是 012345

您正在寻找“唯一”值:

您正在查找“唯一”值:

使用“数组方法”可能是最好的方法。但是,如果您的结果像示例中那样进行排序,您可以使用另一种方法,使用当前值

使用“数组方法”可能是最好的方法。但是,如果您的结果像示例中那样进行排序,您可以使用另一种方法,使用当前值


您可以使用外部变量:

$old_value = '';

foreach($season  as $seasons){ 
    $new_value = $seasons->Combined_season; 
    if($old_value != $new_value)
    {
        echo $new_value;
        $old_value = $new_value;
    } 
} 

您可以使用外部变量:

$old_value = '';

foreach($season  as $seasons){ 
    $new_value = $seasons->Combined_season; 
    if($old_value != $new_value)
    {
        echo $new_value;
        $old_value = $new_value;
    } 
} 


您可以展示完整的代码吗?您可以在进行foreach之前使用。或者跟踪上一个值,如果它与当前值相同,则执行
继续
。是否可以
打印($seasure)
并显示此数组?是否可以显示完整的代码?您可以在执行foreach之前使用。或者跟踪上一个值,如果它与当前值相同,则执行
继续
。您可以
打印($seasure)
并显示此数组吗?我不喜欢使用$seasures->Combined\u seasure三次。你的解决方案也很好。我同意你们的观点,我们可以用内爆来显示结果。为什么不呢?有什么反对的?这当然会更容易阅读。我尝试了一下,但结果还是sameI不喜欢使用$seasons->Combined_season三次。你的解决方案也很好。我同意你们的观点,我们可以用内爆来显示结果。为什么不呢?有什么反对的?这当然会更容易阅读。我尝试了这个方法,但结果仍然相同。只有当输入值按单调顺序排列时,这才有效。这使得代码不那么健壮。OP没有明确规定可以以明确的方式预期这样的订单。而且。。。你为什么称之为外部变量?是的,你是对的。我没有考虑到明显的可能性。对不起,弄错了。总有一些东西可以从Stack中学到(对此我很感激:-)。我会留下这个答案,这样如果你(和其他人)同意,你的评论将对其他人有用。P:S:这还不清楚,但我说的“外部”是指“外部”。RegardsAll fine:-)(请注意,不是我投了反对票…)只有当输入值按单调顺序排列时,这才有效。这使得代码不那么健壮。OP没有明确规定可以以明确的方式预期这样的订单。而且。。。你为什么称之为外部变量?是的,你是对的。我没有考虑到明显的可能性。对不起,弄错了。总有一些东西可以从Stack中学到(对此我很感激:-)。我会留下这个答案,这样如果你(和其他人)同意,你的评论将对其他人有用。P:S:这还不清楚,但我说的“外部”是指“外部”。RegardsAll fine:-)(请注意,不是我投了反对票…)感谢您的第一个代码正在运行,我仍在尝试更多但是如何将该数组转换为单个字符串?如果我得到0值,我可以使用$result[1]吗?@EyangMakmur抱歉,我不理解您的其他问题:
echo
输出字符串,而不是数组,就像你的尝试一样。当然,您可以访问数组中的每个元素,当然,它是0索引的,所以从索引0开始。@EyangMakmur ooops,对不起,我上一次的评论显然是错的:
$result
显然不是0索引数组!感谢您的第一个代码正在运行,我仍在尝试更多但是如何将该数组转换为单个字符串?如果我得到0值,我可以使用$result[1]吗?@EyangMakmur抱歉,我不理解您的其他问题:
echo
输出字符串,而不是数组,就像您尝试的那样。当然,您可以访问数组中的每个元素,当然,它是0索引的,所以从索引0开始。@EyangMakmur ooops,对不起,我上一次的评论显然是错的:
$result
显然不是0索引数组!
<?php
foreach($season  as $seasons){  
    $result[$seasons->Combined_season] = null;
} 
echo implode('', array_keys($result));
<?php
foreach($season  as $seasons){  
    $result[$seasons->Combined_season] = null;
} 
$value = array_keys($result);
   $printedSeasons = [];
   foreach($season as $seasons){  
          if (!in_array($seasons->Combined_season, $printedSeasons)) {
                 $printedSeasons[] = $seasons->Combined_season;
                 echo $seasons->Combined_season;
          } 
   } 
<?php
$values = [];
foreach($season  as $seasons){
    if(! in_array($seasons->Combined_season, $values)) {
        $values[] = $seasons->Combined_season;
        echo $seasons->Combined_season ;
    }
}
$curr_val = '';
foreach($season  as $seasons){
   if ($seasons->Combined_season != $curr_val){
      echo  $seasons->Combined_season ; 
      $curr_val = $seasons->Combined_season ;
   } 
}
$old_value = '';

foreach($season  as $seasons){ 
    $new_value = $seasons->Combined_season; 
    if($old_value != $new_value)
    {
        echo $new_value;
        $old_value = $new_value;
    } 
}