Foreach array_combine有两个具有不同数量元素的数组?

时间:2014-08-06 20:52:55

标签: php arrays foreach

现在我正在组合两个数组,但它们具有不同数量的元素。

以下是代码:

preg_match_all('/\"SizeName\":\"([0-9.]+)\"/',$str,$matches);
preg_match_all('/\"SellPrice\":\"([0-9.]+)\"/',$str,$matches1);
echo '<pre>';
    foreach (array_combine($matches[0], $matches1[0]) as $ht => $name) {
echo "$ht - $name<br>";
}
echo '</pre>';

我想问一下如何限制组合数量最少的元素数组?

我看到了使用这样的函数解决此问题的建议:

function array_combine2($arr1, $arr2) {
    $count = min(count($arr1), count($arr2));
    return array_combine(array_slice($arr1, 0, $count), array_slice($arr2, 0, $count));
}

但我的问题是,这个函数能帮助我以及我如何在我的代码中实现它,所以它不会给我输出错误:

Warning: array_combine() [function.array-combine]: Both parameters should have an equal number of elements

提前致谢!

1 个答案:

答案 0 :(得分:4)

&#34;这个功能会帮助我吗??的

&#34;我如何在我的代码中实现它,所以它不会给我输出错误&#34;

  1. 在代码中粘贴array_combine2的函数定义。
  2. array_combine中的array_combine2更改为foreach