12 if ($allow_null && $var === null)
return null;
24 if (is_string($var) && ctype_digit($var)) $var = (int) $var;
27 if ((is_string($var) && is_numeric($var)) || is_int($var)) $var = (
float) $var;
30 if (is_int($var) && ($var === 0 || $var === 1)) {
32 } elseif (is_string($var)) {
33 if ($var ==
'on' || $var ==
'true' || $var ==
'1') {
35 } elseif ($var ==
'off' || $var ==
'false' || $var ==
'0') {
45 if (is_string($var)) {
49 if ($var ==
'')
return array();
50 if (strpos($var,
"\n") ===
false && strpos($var,
"\r") ===
false) {
53 $var = explode(
',',$var);
55 $var = preg_split(
'/(,|[\n\r]+)/', $var);
58 foreach ($var as $i => $j) $var[$i] = trim($j);
59 if (
$type === self::HASH) {
62 foreach ($var as $keypair) {
63 $c = explode(
':', $keypair, 2);
64 if (!isset($c[1]))
continue;
70 if (!is_array($var))
break;
71 $keys = array_keys($var);
72 if ($keys === array_keys($keys)) {
73 if (
$type == self::ALIST)
return $var;
74 elseif (
$type == self::LOOKUP) {
76 foreach ($var as $key) {
82 if (
$type === self::LOOKUP) {
83 foreach ($var as $key => $value) {