Есть ли PHP-функция, такая как Python Zip? - PullRequest
56 голосов
/ 12 мая 2010

Python имеет приятную функцию zip(). Есть ли эквивалент в PHP?

Ответы [ 13 ]

0 голосов
/ 28 мая 2013

Чтобы преодолеть проблемы с передачей одного массива в map_array, вы можете передать эту функцию ... к сожалению, вы не можете передать "array", поскольку это не настоящая функция, а встроенная штука.

function make_array() { return func_get_args(); }
0 голосов
/ 01 февраля 2013
// create
$a = array("a", "c", "e", "g", "h", "i");
$b = array("b", "d", "f");
$zip_array = array();

// get length of the longest array
$count = count(max($a, $b));

// zip arrays
for($n=0;$n<$count;$n++){
    if (array_key_exists($n,$a)){
        $zip_array[] = $a[$n];
        }   
    if (array_key_exists($n,$b)){
        $zip_array[] = $b[$n];
        }   
    }

// test result
echo '<pre>'; print_r($zip_array); echo '<pre>';
0 голосов
/ 16 июля 2011
public static function array_zip() {
    $result = array();
    $args = array_map('array_values',func_get_args());
    $min = min(array_map('count',$args));
    for($i=0; $i<$min; ++$i) {
        $result[$i] = array();
        foreach($args as $j=>$arr) {
            $result[$i][$j] = $arr[$i];
        }
    }
    return $result;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...