joomla — php цикл foreach с продолжением, если значение уже отражено

У меня есть цикл foreach, и мне нужно добавить продолжение, если значение уже отражено. Я не могу найти правильный синтаксис. Петля:

foreach ($results as $result) {
echo $result->date . "<br />";
}

Но мне нужно добавить в продолжение, чтобы, если значение уже было отражено, и оно снова появлялось в цикле, оно пропускалось. Я не совсем понимаю утверждение if / continue совершенно верно.

Мысли, предложения, идеи?

0

Решение

Как упомянуто @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.
}
3

Другие решения

$echoedArray = array();
foreach ($results as $result) {
if (isset($echoedArray[$result->date])) {
continue;
}
echo $result->date . "<br />";
$echoedArray[$result->date] = true;
}
2

    $alreadyOutput = array();
foreach ($results as $result) {
if(in_array($result->date, $alreadyOutput)){
continue;
}
$alreadyOutput[] = $result->date;
echo $result->date . "<br />";
}
1
По вопросам рекламы [email protected]