Convertir cualquier valor a un array

Código PHP

PHP – Conversiones – isArray

Esta función convierte un valor integer, string, boolean o cualqueir otro valor a un array.

La usaremos en funciones que necesitamos forzosamente que un parámetro sea un array, como por ejemplo en los bucles foreach donde el objetivo es recorrer arrays.

Así de esta forma nos evitaremos el generar un warning si el parámetro en cuestión no es un array.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
/**
* Class HelperConvert
*/
abstract class HelperConvert
{
/**
* Convierte un valor a un array.
* Siempre devuelve un array.
*
* @param $element
*
* @return array
* @see HelperValidate::isEmpty()
*/
public static function toArray( $element ) : array
{
if ( is_array( $element ) ) {
return $element;
} elseif ( HelperValidate::isEmpty( $element ) ) {
// No aseguramos que no tenga valor
return [];
} elseif ( is_object( $element ) ) {
return ( array )$element;
} else {
return array( $element );
}
}
}
/** * Class HelperConvert */ abstract class HelperConvert { /** * Convierte un valor a un array. * Siempre devuelve un array. * * @param $element * * @return array * @see HelperValidate::isEmpty() */ public static function toArray( $element ) : array { if ( is_array( $element ) ) { return $element; } elseif ( HelperValidate::isEmpty( $element ) ) { // No aseguramos que no tenga valor return []; } elseif ( is_object( $element ) ) { return ( array )$element; } else { return array( $element ); } } }
/**
 * Class HelperConvert
 */
abstract class HelperConvert
{

    /**
     * Convierte un valor a un array.
     * Siempre devuelve un array.
     *
     * @param $element
     *
     * @return array
     * @see HelperValidate::isEmpty()
     */
    public static function toArray( $element ) : array
    {
        if ( is_array( $element ) ) {
            return $element;

        } elseif ( HelperValidate::isEmpty( $element ) ) {
            // No aseguramos que no tenga valor
            return [];

        } elseif ( is_object( $element ) ) {

            return ( array )$element;

        } else {
            return array( $element );
        }
    }
}

Funciones relacionadas

Ejemplos de varias conversiones:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$arr = null;
$tmp = HelperConvert::toArray($arr); // [0]
$arr = 'OK';
$tmp = HelperConvert::toArray($arr); // ['OK'] [0 => 'OK']
$arr = 123;
$tmp = HelperConvert::toArray($arr); // [123] [ 0 => 123]
$arr = [];
$tmp = HelperConvert::toArray($arr); // [0]
$arr = true;
$tmp = HelperConvert::toArray($arr); // [true] [ 0 => true ]
$arr = [1, 2, 3, 4];
$tmp = HelperConvert::toArray($arr); // [1,2,3,4]
$arr = [1 => 'a', 2 => 'b', 3, 4];
$tmp = HelperConvert::toArray($arr); // [1 => 'a',2 => 'b',3,4];
$arr = null; $tmp = HelperConvert::toArray($arr); // [0] $arr = 'OK'; $tmp = HelperConvert::toArray($arr); // ['OK'] [0 => 'OK'] $arr = 123; $tmp = HelperConvert::toArray($arr); // [123] [ 0 => 123] $arr = []; $tmp = HelperConvert::toArray($arr); // [0] $arr = true; $tmp = HelperConvert::toArray($arr); // [true] [ 0 => true ] $arr = [1, 2, 3, 4]; $tmp = HelperConvert::toArray($arr); // [1,2,3,4] $arr = [1 => 'a', 2 => 'b', 3, 4]; $tmp = HelperConvert::toArray($arr); // [1 => 'a',2 => 'b',3,4];
$arr = null;
$tmp = HelperConvert::toArray($arr); // [0]

$arr = 'OK';
$tmp = HelperConvert::toArray($arr); // ['OK'] [0 => 'OK']

$arr = 123;
$tmp = HelperConvert::toArray($arr); // [123] [ 0 => 123]

$arr = [];
$tmp = HelperConvert::toArray($arr); // [0]

$arr = true;
$tmp = HelperConvert::toArray($arr); // [true] [ 0 => true ]

$arr = [1, 2, 3, 4];
$tmp = HelperConvert::toArray($arr); // [1,2,3,4]

$arr = [1 => 'a', 2 => 'b', 3, 4];
$tmp = HelperConvert::toArray($arr); // [1 => 'a',2 => 'b',3,4];