Funkcija arrayval
Standartinėje PHP bibliotekoje nėra funkcijos arrayval, bet panašią funkcionalumą galima realizuoti pačiam. Žemiau pateikiamas realizacijos pavyzdys, kuris konvertuoja bet kurią reikšmę į masyvą: jei reikšmė jau yra masyvas, ji grąžinama be pakeitimų, kitiems tipams sukuriamas masyvas su vienu elementu.
Funkcijos realizacija
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
?>
Naudojimo pavyzdys
Konvertuokime eilutę į masyvą naudodami mūsų funkciją:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval('abcde');
print_r($res);
?>
Kodo vykdymo rezultatas:
['abcde']
Naudojimo pavyzdys
Pabandykime konvertuoti skaičių:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval(123);
print_r($res);
?>
Kodo vykdymo rezultatas:
[123]
Naudojimo pavyzdys
Patikrinkime veikimą su masyvu:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval([1, 2, 3]);
print_r($res);
?>
Kodo vykdymo rezultatas:
[1, 2, 3]
Alternatyvūs sprendimai
PHP yra kiti būdai konvertuoti į masyvą:
<?php
// Tipo (array) konvertavimo naudojimas
$array = (array)'string';
print_r($array); // ['string']
// Objektams tipo konvertavimas veikia kitaip
$obj = new stdClass();
$obj->prop = 'value';
$array = (array)$obj;
print_r($array); // ['prop' => 'value']
?>