Bu açıklama ne anlama geliyor?

4 Cevap php

Süre

$w is an Array ( [0] => 4, [1] => 6 )

bu açıklama ne anlama geliyor:

$day == $w[0] || $day == $w[1] || $day < ((7 + $w[1] - $w[0]) % 7);

Lütfen yardım edin. Ben bir if veya while ifadesinin dışındaki içindeki || operatörü görmedim. Teşekkür ederim.

EDIT 01:

Bu bir tarih aralığında, belirli bir gün sayısını bulmak için kullanılan orijinal işlevi:

// find number of a particular day (sunday or monday or etc) within a date range
function number_of_days($day, $start, $end){
    $w = array(date('w', $start), date('w', $end));
    return floor( ( date('z', $end) - date('z', $start) ) / 7) + ($day == $w[0] || $day == $w[1] || $day < ((7 + $w[1] - $w[0]) % 7));
}

Bu bana göre oluşturulan değildi. Son gün Cumartesi olduğu zaman, yanlış olan, çok dikkate aşağıdaki Pazar alıyor çünkü Ama ben bu fonksiyonu düzenlemek istedim.

4 Cevap

Bu true aşağıdaki dört alt ifadeleri varsa verir, sadece bir bileşik boolean ifadedir olan true:

  • $day == $w[0]
  • $day == $w[1]
  • $day < ((7 + $w[1] - $w[0]) % 7)

Sen boolean ifadesi 1 veya 0 olarak tamsayı olarak eklenen alır doğru yorumların biri vardı.

Eğer bir tamsayı için bir Boole değeri döküm sonra FALSE alır 0 ve TRUE 1 alır.

Farklı veri türleri ile değişkenler ekleyin ve değişken bir bir tam sayıdır, daha sonra diğer değişkenler, kılan tam sayılara döküm edilir:

var_dump(1+true);
// Result: int(2)

Farklı veri türleri üzerinde + kullanmak ve belli bir veri türü bir tamsayı döküm edilirse ne olur ne olur açıklamak İki bağlantılar:

http://php.net/manual/en/language.types.type-juggling.php
http://www.php.net/manual/en/language.types.integer.php#language.types.integer.casting

$day == $w[0] || $day == $w[1] || $day < ((7 + $w[1] - $w[0]) % 7);

Ifadesi doğru / yanlış bir Boole değeri (hiçbir örnekte atanır) değerlendirecektir.

Ifadeleri etkili sırayla hesaplanır

Örneğin

true || false || false => true

false || false || false => false

Bu "altifadelerle" herhangi doğruysa o zaman bütün ifade true olarak değerlendirmek anlamına gelir. Bu bir değişken $v = expression atanmış veya if (expression) olarak kullanmak olabilir

| | Mantıksal VEYA operatörüdür. documentation daha fazla bilgi için bakınız