Bu herhangi bir yardım olup olmadığını bilmiyorum ama __ toString yöntemi yararlanarak olası aradığınız ne elde edebiliriz, ancak uyarılmak, bu hiç de temiz kod değildir ya da en iyi uygulama, Rob önerilen çözüm aslında daha iyi
Siz PHP5.2 veya daha yüksek kullanarak gereken ve tiplemeleri yararlanmak ve PHP'nin sınıf modelinin __ toString sihirli yöntem
class Dummy
{
private $value;
public function __construct($val)
{
$this->value = $val;
}
public function __toString()
{
return $this->value;
}
}
$dummy = new Dummy('1');
if((string)$dummy) {
echo "__toString evaluated as true".PHP_EOL;
} else {
echo "__toString evaluated as false".PHP_EOL;
}
$dummy2 = new Dummy('0');
if((string)$dummy2) {
echo "__toString evaluated as true".PHP_EOL;
} else {
echo "__toString evaluated as false".PHP_EOL;
}
Burada ne olur __ toString yöntemi dize 0 veya dize 1 (dikkat, tamsayılar dönmek dizeleri dönmek yok!) Ya döndürür
'0 'Için yanlış değerlendirir, '1' çok durumda da yardımcı olabilir böylece if ifadesi true değerlendirir.