Example #1
0
File: arr.php Project: amekusa/plz
 /**
  * Treats arguments as an one-dimensional array
  * @example Converting a multi-dimensional array into one-dimensional
  * ```php
  * $var = array (
  *   'A',
  *   array (
  *     'B',
  *     array (
  *       'C'
  *     ),
  *     'D'
  *   ),
  *   'E'
  * );
  * var_export( arr::flat($var) );
  * ```
  * @example Converting multiple arguments into an one-dimentional array
  * ```php
  * $r = arr::flat('A', 'B', array ('C', 'D'), 'E', 'F');
  * var_export( $r );
  * ```
  * @param mixed $X Any number of parameters are accepted
  * @return array
  */
 static function flat($X)
 {
     $r = array();
     $args = func_num_args() > 1 ? func_get_args() : (type::is_iterable($X) ? $X : array($X));
     foreach ($args as $iArg) {
         if (is_array($iArg)) {
             $r = array_merge($r, arr::flat($iArg));
         } else {
             $r[] = $iArg;
         }
     }
     return $r;
 }