Funkcija arrayval
PHP standarta bibliotēkā nav funkcijas arrayval, bet līdzīgu funkcionalitāti var realizēt patstāvīgi. Zemāk ir parādīts implementācijas piemērs, kas pārveido jebkuru vērtību masīvā: ja vērtība jau ir masīvs, tā tiek atgriezta nemainīta, citiem datu tipiem tiek izveidots masīvs ar vienu elementu.
Funkcijas implementācija
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
?>
Lietošanas piemērs
Pārveidosim virkni masīvā, izmantojot mūsu funkciju:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval('abcde');
print_r($res);
?>
Koda izpildes rezultāts:
['abcde']
Lietošanas piemērs
Mēģināsim pārveidot skaitli:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval(123);
print_r($res);
?>
Koda izpildes rezultāts:
[123]
Lietošanas piemērs
Pārbaudīsim darbību ar masīvu:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval([1, 2, 3]);
print_r($res);
?>
Koda izpildes rezultāts:
[1, 2, 3]
Alternatīvi risinājumi
PHP pastāv citi veidi, kā pārveidot masīvā:
<?php
// (array) tipa pārveidošanas izmantošana
$array = (array)'string';
print_r($array); // ['string']
// Objektiem tipa pārveidošana strādā savādāk
$obj = new stdClass();
$obj->prop = 'value';
$array = (array)$obj;
print_r($array); // ['prop' => 'value']
?>