PS. Napisałem sobie ten warunek również w inny sposób i już poprawnie mi sortuje, jednak nie mam pojęcia czemu pierwszy zachowuje się w ten sposób
1. Wersja 1
$tab1 = [5, 7, 3, 1, 8, 2, 0, 4, 9, 6]; foreach ($tab1 as $val) { } { if ($e1 % 2 == 0 && $e2 % 2 != 0) { return -1; } elseif ($e1 % 2 != 0 && $e2 == 0) { return 1; } else { return $e1 - $e2; } } ); foreach ($tab1 as $val) { }
Wersja poprawnie działająca
$tab1 = [5, 7, 3, 1, 8, 2, 0, 4, 9, 6]; { if ($e1 % 2 == $e2 % 2) { return $e1 - $e2; } if ($e1 % 2 == 0) { return -1; } return 1; } ); foreach ($tab1 as $val) { }