- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
function _bool($var){
if(is_bool($var)){
return $var;
} else if($var === NULL || $var === 'NULL' || $var === 'null'){
return false;
} else if(is_string($var)){
$var = trim($var);
if($var=='false'){ return false;
} else if($var=='true'){ return true;
} else if($var=='no'){ return false;
} else if($var=='yes'){ return true;
} else if($var=='off'){ return false;
} else if($var=='on'){ return true;
} else if($var==''){ return false;
} else if(ctype_digit($var)){
if((int) $var)
return true;
else
return false;
} else { return true; }
} else if(ctype_digit((string) $var)){
if((int) $var)
return true;
else
return false;
} else if(is_array($var)){
if(count($var))
return true;
else
return false;
} else if(is_object($var)){
return true;// No reason to (bool) an object, we assume OK for crazy logic
} else {
return true;// Whatever came though must be something, OK for crazy logic
}
}
Я, конечно, понимаю, не во всех школах учат использованию массивов...
zim 15.12.2012 12:55 # 0
LispGovno 15.12.2012 12:57 # +1
bormand 15.12.2012 13:14 # +3
P.S. А вообще это что-за борец с ветряными мельницами динамической типизацией?
RaZeR 15.12.2012 14:48 # 0
Черпаю вдохновение в комментах, так сказать. Порой встречаются такие вот жемчужины.
bormand 15.12.2012 15:00 # +9
roman-kashitsyn 15.12.2012 15:13 # +7
Это единственное, что им остаётся, ведь O(n^3) алгоритмы такие меееееееееедленные