У меня есть цикл foreach, и мне нужно добавить продолжение, если значение уже отражено. Я не могу найти правильный синтаксис. Петля:
foreach ($results as $result) {
echo $result->date . "<br />";
}
Но мне нужно добавить в продолжение, чтобы, если значение уже было отражено, и оно снова появлялось в цикле, оно пропускалось. Я не совсем понимаю утверждение if / continue совершенно верно.
Мысли, предложения, идеи?
Как упомянуто @JonathanKuhn в комментариях — вот как вы должны выполнить этот цикл:
$already_echoed = array();
foreach ($results as $result) {
if (!in_array($result->date, $already_echoed)) { //check if current date is in the already_echoed array
echo $result->date . "<br />";
}
$already_echoed[] = $result->date; //store all dates in an array to check against.
}
$echoedArray = array();
foreach ($results as $result) {
if (isset($echoedArray[$result->date])) {
continue;
}
echo $result->date . "<br />";
$echoedArray[$result->date] = true;
}
$alreadyOutput = array();
foreach ($results as $result) {
if(in_array($result->date, $alreadyOutput)){
continue;
}
$alreadyOutput[] = $result->date;
echo $result->date . "<br />";
}