array_combine无法正常工作(php)

时间:2017-11-18 21:41:40

标签: php arrays

我正在尝试创建销售额最多的用户列表,我想找到一种方法来组合两个数组。

$user_ids = sample_one();
$user_sales = sample_two();
两个样本函数的

var_dump:

array(2) { 
    [0]=> string(1) "1" // user ID
    [3]=> string(1) "3" 
} 

array(2) { 
    [0]=> int(5) // User sales
    [1]=> int(20) 
}

最后我想结合这两个数组。像这样:

 $users =  array (
      array (
        'id' => '1',
        'sale' => '5'
      )
      array (
        'id' => '3',
        'sale' => '20'
      ),
    )

我尝试使用array_combine( $user_ids, $user_sales );,但这不起作用。任何替代品?最终我最终将其用作

array_sort($users, 'sale', SORT_DESC)

2 个答案:

答案 0 :(得分:1)

我想没有这样的内置方法可用于循环数据并创建数组

$data= array();

foreach($user_ids as $key=> $val){

    if(isset($user_sales[$key])){
        $data[] = array (
            'id' => $val,
            'sale' => $user_sales[$key]
          );
    }

}

同时确保两个数组的键应相同,以便为每个用户ID映射正确的数据

答案 1 :(得分:0)

正确的功能是array_merge($array1, $array2)

更多信息阅读the documentation on array_merge