PHP func condizionale di prova chiamata su due valori

0

Mi chiedevo se ci fosse un solo liner per PHP che mi permettesse di testare più valori rispetto a una chiamata di funzione. Ad esempio, supponiamo che voglio testare se foo() restituisce 1 o 2, (in pseudo codice)

if( [1||2]==foo() );

Forse sopra è un cattivo esempio di ciò che intendo. Attualmente se voglio testare due valori contro una chiamata di funzione vorrei usare:

$test = foo();
if( 1==$test || 2==$test );

Sono queste due linee che vorrei semplificare in una

    
posta Daithí 05.12.2014 - 07:28
fonte

2 risposte

3

Non c'è niente di simile in PHP, comunque puoi andare per qualcosa di simile - anche se non lo sto davvero raccomandando:

if ( in_array(foo(), array(1, 2), true) ) ...

Tieni presente che non funziona sulle condizioni di && e sei limitato solo a == e === .

    
risposta data 05.12.2014 - 08:25
fonte
-1

Nell'esempio specifico dato ciò funzionerebbe:

if ( abs( foo() - 1.5 ) == 0.5 )

Funziona con due valori numerici, ma per ovvi motivi non è molto facile generalizzare

    
risposta data 05.12.2014 - 16:36
fonte

Leggi altre domande sui tag