Posiadam w kodzie dwukrotnie konstrukcję switch case. W pierwszym przypadku pobiera z bazy danych wartości i sprawdza czy są puste:
$row = NULL;
switch ($row)
{
case $actual:
echo "actual null";
$connect->query("UPDATE (...));
break;
case $first:
echo "first null";
$connect->query("UPDATE (...));
break;
case $second:
echo "second null";
$connect->query("UPDATE (...));
break;
Itd. Działa wyśmienicie. Potem potrzebuję podobną konstrukcję, ale już jedynie wybrać te które są zapełnione - przy czym nie pierwszą zapełnioną pozycję, a wszystkie, więc nie stosuje break, aż do końca:
$row2 != NULL;
switch ($row2)
{
case $actual2:
echo "actual ";
case $first2:
echo "first ";
case $second2:
echo "second ";
case $third2:
echo "third ";
case $Fourth2:
echo "Fourth ";
case $Fifth2:
echo "Fifth ";
case $Sixth2:
echo "Sixth ";
case $Seventh2:
echo "Seventh ";
case $Eighth2:
echo "Eighth ";
case $Ninth2:
echo "Ninth ";
break;
default:
echo "end";
break;
}
Co daje efekt w postaci wyświetlenia się komunikatu defaultowego.
Teraz, jeśli zrobię zaprzeczenie samego NULLA:
$row2 = !NULL;
To wyświetlają się wszystkie wpisy poza defaultowym.
A jeśli pozostawię bez negacji:
$row2 = NULL;
To brak breaków w przeciwieństwie do pierwszego przypadku działa i pokazuje tylko te puste wpisy! Nie mogę wykminić jak zrobić tę negację. Pewnie mógłbym jakoś odwrócić wynik ostatniego przypadku, ale wolałbym nie produkować obejść problemu.