Como posso alterar minha matriz, o que afeta diretamente meu loop foreach?

Eu passo através de uma matriz, que tenho, usando um loop foreach. No entanto, dentro do loop foreach, preciso modificar a matriz, para que isso afete diretamente meu loop foreach.

Então, vou fazer um exemplo do meu problema:

<?php

    $array = ["Red", "Yellow", "Blue", "Orange"];

    foreach($array as $color) {
        if(($key = array_search("Blue", $array)) !== false) 
            unset($array[$key]);

        echo $color . "<br>";

    }

?>

resultado:

Red
Yellow
Blue
Orange

Então, como você pode ver, euunset() o elemento da matriz com o valorBlue. Mas ainda tenho isso na minha saída.

Agora, minha pergunta é: como posso desarmar o elemento com o valorBlue, para quediretamente afeta meu loop foreach, significa que não o vejo mais na saída, desde que o apagueiantes Eu faço um loop sobre esse elemento específico.

A saída esperada seria (Nota: o azul não está na saída):

Red
Yellow
Orange

questionAnswers(1)

yourAnswerToTheQuestion