Łatwo natrafić w manualu/sieci na informację, że opertory OR i || różnicą się priorytetem.
Dzisiaj zauwazyłem jednak coś takiego:
if(!$model = pobierzModel() || pomeczModel($model)) { ... }
Powyższy kod zadziała w przypadku operatora OR, natomiast operator || wywali błąd niezdefiniowanej zmiennej. Czy to powszechne w językach programowania i jest logiczne uzasadnienie, dlaczego tak się dzieje?
Natrafiłem na to w realnej sytuacji - chciałem rzucić błędem jeśli nie uda się pobrać modelu o $id i jednocześnie jeśli fałszem będzie $model->relacja - wszystko w jednym warunku. || zwracało błąd niezdefiniowanej zmiennej $model.