Example #1
0
 public function zip($array = null)
 {
     $arrays = self::_wrapArgs(func_get_args());
     $num_arrays = count($arrays);
     if ($num_arrays === 1) {
         return self::_wrap($array);
     }
     $__ = new self();
     $num_return_arrays = $__->max($__->map($arrays, function ($array) {
         return count($array);
     }));
     $return_arrays = $__->range($num_return_arrays);
     foreach ($return_arrays as $k => $v) {
         if (!is_array($return_arrays[$k])) {
             $return_arrays[$k] = array();
         }
         foreach ($arrays as $a => $array) {
             $return_arrays[$k][$a] = array_key_exists($k, $array) ? $array[$k] : null;
         }
     }
     return self::_wrap($return_arrays);
 }