Funkcija arrayval
V standardni knjižnici PHP ni funkcije arrayval, vendar lahko podobno funkcionalnost implementirate sami. Spodaj je predstavljen primer implementacije, ki pretvori katero koli vrednost v matriko: če je vrednost že matrika, se vrne brez sprememb, za druge tipe pa se ustvari matrika z enim elementom.
Implementacija funkcije
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
?>
Primer uporabe
Pretvorimo niz v matriko z našo funkcijo:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval('abcde');
print_r($res);
?>
Rezultat izvajanja kode:
['abcde']
Primer uporabe
Poskusimo pretvoriti število:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval(123);
print_r($res);
?>
Rezultat izvajanja kode:
[123]
Primer uporabe
Preverimo delovanje z matriko:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval([1, 2, 3]);
print_r($res);
?>
Rezultat izvajanja kode:
[1, 2, 3]
Alternativne rešitve
V PHP obstajajo drugi načini za pretvorbo v matriko:
<?php
// Uporaba (array) pretvorbe tipa
$array = (array)'string';
print_r($array); // ['string']
// Za objekte pretvorba tipa deluje drugače
$obj = new stdClass();
$obj->prop = 'value';
$array = (array)$obj;
print_r($array); // ['prop' => 'value']
?>