Função arrayval
Na biblioteca padrão do PHP não existe uma função arrayval, mas é possível implementar uma funcionalidade similar por conta própria. Abaixo está um exemplo de implementação que converte qualquer valor em um array: se o valor já for um array, ele é retornado sem alterações; para outros tipos, é criado um array com um único elemento.
Implementação da função
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
?>
Exemplo de uso
Vamos converter uma string em um array usando nossa função:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval('abcde');
print_r($res);
?>
Resultado da execução do código:
['abcde']
Exemplo de uso
Vamos tentar converter um número:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval(123);
print_r($res);
?>
Resultado da execução do código:
[123]
Exemplo de uso
Vamos verificar o funcionamento com um array:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval([1, 2, 3]);
print_r($res);
?>
Resultado da execução do código:
[1, 2, 3]
Soluções alternativas
Existem outras maneiras de converter para array no PHP:
<?php
// Uso da conversão de tipo (array)
$array = (array)'string';
print_r($array); // ['string']
// Para objetos, a conversão de tipo funciona de forma diferente
$obj = new stdClass();
$obj->prop = 'value';
$array = (array)$obj;
print_r($array); // ['prop' => 'value']
?>