PHP vs Ruby 'ya da' koşullar Taşıma

3 Cevap php

Ben bu çağrı ne emin değilim, o yüzden bir örnek vereyim.

PHP

1==2 || 2 döner 1 veya true

Ruby

1==2 || 2 döner 2 (ikinci açıklamada ilk değerlendirir false ise).

PHP benzer bir şey uygulamak için herhangi bir kısa yolu var mı?

3 Cevap

Nasıl hakkında

1==2 ? 1==2 : 2

veya PHP 5.3

1==2 ?: 2

PHP, boolean ifadelerin sonucu her zaman bir boolean. Bu yüzden 1==2 || 2 verir true.

Aklıma iyi şey

($var = 1 == 2) || ($var = 2)

Daha sonra $var olacak 2.

Matchu sveyausuna cevap bağlı olarak, isteyebilirsiniz:

(($var = 1) == 1) || ($var = 2)

veya

($var = 1 == 1) || ($var = 2)

Peki 1 == 2 or 2?

Doğrudan baskı, böylece bir değişkenin içine sonucu koymak gerekiyorsa Ancak, sonuç aynı olmayabilir. Bu örneği ele alalım:

$result = "a" or 2;
var_dump($result); // prints string(1) "a"

var_dump("a" or 2); // prints bool(true)

Burada bir göz atın: http://www.php.net/manual/en/language.operators.logical.php