Funktio arrayval
PHP:n standardikirjastossa ei ole funktiota arrayval, mutta voit toteuttaa vastaavan toiminnallisuuden itse. Alla on esimerkkitoteutus, joka muuntaa minkä tahansa arvon taulukoksi: jos arvo on jo taulukko, se palautetaan muuttumattomana, muille tyypeille luodaan taulukko, jossa on yksi alkio.
Funktion toteutus
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
?>
Käyttöesimerkki
Muunnetaan merkkijono taulukoksi käyttämällä funktiotamme:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval('abcde');
print_r($res);
?>
Koodin suorituksen tulos:
['abcde']
Käyttöesimerkki
Yritetään muuntaa numero:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval(123);
print_r($res);
?>
Koodin suorituksen tulos:
[123]
Käyttöesimerkki
Tarkistetaan toiminta taulukon kanssa:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval([1, 2, 3]);
print_r($res);
?>
Koodin suorituksen tulos:
[1, 2, 3]
Vaihtoehtoiset ratkaisut
PHP:ssä on olemassa muita tapoja muuntaa taulukoksi:
<?php
// Käytetään (array) tyyppimuunnosta
$array = (array)'string';
print_r($array); // ['string']
// Olioille tyyppimuunnos toimii eri tavalla
$obj = new stdClass();
$obj->prop = 'value';
$array = (array)$obj;
print_r($array); // ['prop' => 'value']
?>