0

我有这个数组:

Array ( [0] => Post Slider [1] => Post Slider Wide [2] => Post Slider ) 

而这第二个数组:

Array ( [0] => Tools Sliders [1] => Tools Sliders [2] => modules-test ) 

当我使用 PHP 函数 array_combine 时,它​​不包含重复项,如下所示:

Array ( [Post Slider] => modules-test [Post Slider Wide] => Tool Sliders ) 

我很困惑如何获得这样的预期结果(不删除重复项,完成一对一的关系):

Array ( [Post Slider] => Tools Sliders [Post Slider Wide] => Tools Sliders [Post Slider] => modules-test) 

我将不胜感激任何帮助和提示..

问候, 法典

4

2 回答 2

1

无论你做什么,你的输出数组中都不会有重复的键。键总是唯一的。

唯一的解决方案是为键分配一个具有例如两个值的数组。

$keys   = array ( 'Post Slider', 'Post Slider Wide', 'Post Slider' );
$values = array ( 'Tools Sliders', 'Tools Sliders', 'modules-test' );
$output = array();

$size = sizeof($keys);
for ( $i = 0; $i < $size; $i++ ) {
    if ( !isset($output[$keys[$i]]) ) {
        $output[$keys[$i]] = array();
    }
    $output[$keys[$i]][] = $values[$i];
}
于 2013-04-19T12:51:22.003 回答
0
$count1 = count($array1);
$count2 = count($array2);
$array = array();

if($count1==$count2){
    foreach($array1 as $i=>$val){
        $array[]=array($val,$array2[$i]);
    }
}

你会得到:

Array (
 [0] => Array(
         [0] => Post Slider
         [1] => Tools Sliders
       )
 ............
)
于 2013-04-19T12:56:38.903 回答