Kod w PHP, który widzisz, robi coś fajnego – znajduje największy element w tablicy. Na początku przydzielamy zmiennej $liczba wartość pierwszego elementu z tablicy $tab. Potem przechodzimy przez wszystkie elementy tablicy za pomocą pętli foreach. W środku mamy warunek if, który sprawdza, czy aktualny element $element jest większy od tego, co mamy w $liczba. Jeśli tak, zmieniamy wartość $liczba na ten właśnie element. Gdy już skończymy pętlę, w $liczba mamy największą wartość z tablicy, a następnie to wypisujemy przez echo. Takie podejście to całkiem dobre rozwiązanie, szczególnie przy mniejszych zbiorach danych. Moim zdaniem, jest to piece of cake w programowaniu i często używane za każdym razem, gdy porównujemy różne wartości. Dobrze jest się nauczyć tej metody, bo sprawdza się w różnych sytuacjach, chociaż przy większych danych warto też pomyśleć o innych algorytmach jak sortowanie, które mogą uprościć sprawę.
Zobaczmy teraz, co poszło nie tak z innymi odpowiedziami. W przypadku tej, co miała znaleźć najmniejszy element, to kod nie jest w stanie tego zrobić, ponieważ warunek if sprawdza, czy element jest większy, a powinien być mniejszy, żeby szukać minimum. Jakby zmienić na if ($element < $liczba), to byłoby ok. W innej odpowiedzi twierdzono, że program znajdzie element równy $tab[0], ale w kodzie nie ma żadnego porównania z tym pierwszym elementem, poza tym, że przypisujemy go do $liczba na początku. Brak tam dodatkowej logiki, żeby to ogarnąć. A w ostatniej odpowiedzi pisano o wypisywaniu elementów większych od $liczba, ale kod nie działa w ten sposób, bo nie ma tam nic, co by pozwalało na wypisywanie więcej niż jednego elementu. Program jedynie aktualizuje $liczba, żeby znaleźć największą wartość. Często takie pomyłki biorą się z braku zrozumienia, jak działa iteracja i porównania w programowaniu, gdzie trzeba dobrze rozumieć, jakie warunki i operacje są potrzebne.