Výchozí situace:
Mám cyklus, kde volám funkci, která mi vrací TRUE nebo FALSE a potřebuji vědět, zda alespoň jeden průběh vrátil TRUE.
Možná to pro PHP experty nebude žádná novinka, ale pro mě jsem přišel sice na odhadnutelnou, ale i tak zajímavou konstrukci, kterou možná všichni neznáte.
$state = false; foreach ($array as $value) { $state |= setParam($value); // operátor |=, funkce setParam vrací true|false } |
Není to pěkné?
…akorát je to bitový nebo a navíc by stačilo to procházet jen do chvíle, kdy narazíš na první true, nikoliv až do konce :-)
Ano je to bitový operátor, ale to je zřejmé z kontextu ne? Nechtěl jsem post zaplevelovat spousty detaily, které by celou “krásu” schovaly.
Co se týče procházení, tak já chci projít všemi průchody a pokud se alespoň jeden povedl, tak dále na základě nastavené proměnné $state budu provádět něco dále.