Funzione arrayval
Nella libreria standard di PHP non esiste una funzione arrayval, ma è possibile implementare una funzionalità simile autonomamente. Di seguito è presentato un esempio di implementazione che converte qualsiasi valore in un array: se il valore è già un array, viene restituito senza modifiche, per altri tipi viene creato un array con un singolo elemento.
Implementazione della funzione
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
?>
Esempio di utilizzo
Convertiamo una stringa in un array utilizzando la nostra funzione:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval('abcde');
print_r($res);
?>
Risultato dell'esecuzione del codice:
['abcde']
Esempio di utilizzo
Proviamo a convertire un numero:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval(123);
print_r($res);
?>
Risultato dell'esecuzione del codice:
[123]
Esempio di utilizzo
Verifichiamo il funzionamento con un array:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval([1, 2, 3]);
print_r($res);
?>
Risultato dell'esecuzione del codice:
[1, 2, 3]
Soluzioni alternative
In PHP esistono altri modi per convertire in array:
<?php
// Utilizzo del cast (array)
$array = (array)'string';
print_r($array); // ['string']
// Per gli oggetti il cast funziona in modo diverso
$obj = new stdClass();
$obj->prop = 'value';
$array = (array)$obj;
print_r($array); // ['prop' => 'value']
?>