Python有一个很好的zip()
函数。有没有PHP的等价物?
发布于 2010-05-12 09:17:15
只要所有数组的长度相同,就可以使用带有null
的array_map
作为第一个参数。
array_map(null, $a, $b, $c, ...);
如果某些数组较短,则会将空值填充到最长数组的长度,这与python不同,在python中,返回的结果是最短数组的长度。
发布于 2010-05-12 07:41:05
array_combine
非常接近。
否则就不像你自己编码了:
function array_zip($a1, $a2) {
for($i = 0; $i < min(length($a1), length($a2)); $i++) {
$out[$i] = [$a1[$i], $a2[$i]];
}
return $out;
}
发布于 2010-05-12 07:57:30
尝试使用此函数创建一个类似于Python的zip
的数组数组
function zip() {
$args = func_get_args();
$zipped = array();
$n = count($args);
for ($i=0; $i<$n; ++$i) {
reset($args[$i]);
}
while ($n) {
$tmp = array();
for ($i=0; $i<$n; ++$i) {
if (key($args[$i]) === null) {
break 2;
}
$tmp[] = current($args[$i]);
next($args[$i]);
}
$zipped[] = $tmp;
}
return $zipped;
}
你可以给这个函数传递任意多的数组和任意多的项。
https://stackoverflow.com/questions/2815162
复制相似问题