选择查询以使一列作为mysql中的键

时间:2019-02-08 05:33:48

标签: php mysql mysql-5.7

我需要通过单个查询将数组作为(2) 有人可以帮忙吗?

1.  Array
(
    [0] => Array
        (
            [crop_id] => 3
            [crop_name] => Barley
        )

2. Array
(
    [0] => Array
        (
            [Barley] => 3
        ) 

)

2 个答案:

答案 0 :(得分:0)

不了解查询,但是您可以使用 array_map()

$array[] = array('crop_id' => 3, 'crop_name' => "Barley");

$result = array_map("myfunction",$array);
print_r($result);

function myfunction($v)
{
    $data = [];
    $data[$v['crop_name']] = $v['crop_id'];
    return $data;
}

答案 1 :(得分:0)

假设您已将数据存储在名为crop_data之类的数组中

$ crop_data [0] [crop_id] = 3; $ crop_data [0] [crop_name] ='大麦';
....

$ crop_data [n] [crop_id] = 187; $ crop_data [n] [crop_name] ='小麦'

尝试以下代码:

$new_crop_result=array()
foreach($crop_data as $key=>$record)
{
  $new_crop_result[$key][$record[crop_name]]=$record[crop_id];
}