k3nguruh
Erfahrenes Mitglied
Hallo,
da "empty()" anscheinend nicht wirklich nur leere Resultate als leer erkennt habe ich mal was zusammen gebastelt. Scheint zu funktionieren. Aber gibt es vll eine elegantere Lösung?
Funktion:
Ergebnis:
da "empty()" anscheinend nicht wirklich nur leere Resultate als leer erkennt habe ich mal was zusammen gebastelt. Scheint zu funktionieren. Aber gibt es vll eine elegantere Lösung?
Funktion:
PHP:
function isEmpty($value)
{
if (is_null($value)) {
return true;
} elseif (is_bool($value) && $value === false) {
return true;
} elseif (is_array($value) && count($value) === 0) {
return true;
} elseif (is_int($value) && strlen($value) === 0) {
return true;
} elseif (is_string($value) && strlen(trim($value)) === 0) {
return true;
}
return false;
}
PHP:
$arr = [
"Bool = true" => true,
"Bool = false" => false,
"Float = 0.00" => 0.0,
"Float = 8.88" => 8.88,
"Number = 0" => 0,
"Number = 8" => 8,
'Number = "0"' => "0",
'Number = "8"' => "8",
'String = ""' => "",
'String = " "' => " ",
'String = "string"' => "string",
"Array = []" => [],
'Array = ["array"]' => ["array"],
"Null = null" => null,
];
foreach ($arr as $key => $value) {
if (isEmpty($value)) {
echo "{$key} IS Empty<br/>";
} else {
echo "{$key} NOT Empty<br/>";
}
}
function isEmpty($value)
{
if (is_null($value)) {
return true;
} elseif (is_bool($value) && $value === false) {
return true;
} elseif (is_array($value) && count($value) === 0) {
return true;
} elseif (is_int($value) && strlen($value) === 0) {
return true;
} elseif (is_string($value) && strlen(trim($value)) === 0) {
return true;
}
return false;
}
Ergebnis:
Code:
Bool = true NOT Empty
Bool = false IS Empty
Float = 0.00 NOT Empty
Float = 8.88 NOT Empty
Number = 0 NOT Empty
Number = 8 NOT Empty
Number = "0" NOT Empty
Number = "8" NOT Empty
String = "" IS Empty
String = " " IS Empty
String = "string" NOT Empty
Array = [] IS Empty
Array = ["array"] NOT Empty
Null = null IS Empty