Funktion arrayval
In der Standardbibliothek von PHP gibt es keine Funktion arrayval, aber man kann eine ähnliche Funktionalität selbst implementieren. Unten ist eine Beispielimplementierung dargestellt, die jeden Wert in ein Array konvertiert: Wenn der Wert bereits ein Array ist, wird er unverändert zurückgegeben, für andere Typen wird ein Array mit einem Element erstellt.
Implementierung der Funktion
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
?>
Anwendungsbeispiel
Konvertieren wir einen String mit unserer Funktion in ein Array:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval('abcde');
print_r($res);
?>
Ergebnis der Codeausführung:
['abcde']
Anwendungsbeispiel
Versuchen wir, eine Zahl zu konvertieren:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval(123);
print_r($res);
?>
Ergebnis der Codeausführung:
[123]
Anwendungsbeispiel
Prüfen wir die Arbeit mit einem Array:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval([1, 2, 3]);
print_r($res);
?>
Ergebnis der Codeausführung:
[1, 2, 3]
Alternative Lösungen
In PHP gibt es andere Möglichkeiten der Konvertierung in ein Array:
<?php
// Verwendung des (array) Type Castings
$array = (array)'string';
print_r($array); // ['string']
// Für Objekte funktioniert das Type Casting anders
$obj = new stdClass();
$obj->prop = 'value';
$array = (array)$obj;
print_r($array); // ['prop' => 'value']
?>