Función arrayval

En la biblioteca estándar de PHP no existe la función arrayval, pero se puede implementar una funcionalidad similar de forma independiente. A continuación se presenta un ejemplo de implementación que convierte cualquier valor en un array: si el valor ya es un array, se devuelve sin cambios, para otros tipos se crea un array con un elemento.

Implementación de la función

php<?php
  function arrayval($value): array {
    return is_array($value) ? $value : [$value];
  }
?>

Ejemplo de uso

Convirtamos una cadena en un array usando nuestra función:

php<?php
  function arrayval($value): array {
    return is_array($value) ? $value : [$value];
  }
  
  $res = arrayval('abcde');
  print_r($res);
?>

Resultado de la ejecución del código:

php['abcde']

Ejemplo de uso

Intentemos convertir un número:

php<?php
  function arrayval($value): array {
    return is_array($value) ? $value : [$value];
  }
  
  $res = arrayval(123);
  print_r($res);
?>

Resultado de la ejecución del código:

php[123]

Ejemplo de uso

Comprobemos el funcionamiento con un array:

php<?php
  function arrayval($value): array {
    return is_array($value) ? $value : [$value];
  }
  
  $res = arrayval([1, 2, 3]);
  print_r($res);
?>

Resultado de la ejecución del código:

php[1, 2, 3]

Soluciones alternativas

En PHP existen otras formas de convertir a array:

php<?php
  // Uso de la conversión de tipo (array)
  $array = (array)'string';
  print_r($array); // ['string']
  
  // Para objetos la conversión de tipo funciona de manera diferente
  $obj = new stdClass();
  $obj->prop = 'value';
  $array = (array)$obj;
  print_r($array); // ['prop' => 'value']
?>

Ver también

  • la función is_array,
    que comprueba si una variable es un array
  • la función settype,
    que convierte el tipo de una variable