Funkcja arrayval
W standardowej bibliotece PHP nie ma funkcji arrayval, ale można zaimplementować podobną funkcjonalność samodzielnie. Poniżej przedstawiono przykład implementacji, która konwertuje dowolną wartość na tablicę: jeśli wartość jest już tablicą, jest zwracana bez zmian, dla innych typów tworzona jest tablica z jednym elementem.
Implementacja funkcji
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
?>
Przykład użycia
Skonwertujmy ciąg znaków na tablicę za pomocą naszej funkcji:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval('abcde');
print_r($res);
?>
Wynik wykonania kodu:
['abcde']
Przykład użycia
Spróbujmy skonwertować liczbę:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval(123);
print_r($res);
?>
Wynik wykonania kodu:
[123]
Przykład użycia
Sprawdźmy działanie z tablicą:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval([1, 2, 3]);
print_r($res);
?>
Wynik wykonania kodu:
[1, 2, 3]
Rozwiązania alternatywne
W PHP istnieją inne sposoby konwersji na tablicę:
<?php
// Użycie rzutowania typu (array)
$array = (array)'string';
print_r($array); // ['string']
// Dla obiektów rzutowanie typu działa inaczej
$obj = new stdClass();
$obj->prop = 'value';
$array = (array)$obj;
print_r($array); // ['prop' => 'value']
?>