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