我有此代码,也有查询。
$id_user = $this->current_user->id;
$query_perusahaan = "SELECT
default_perusahaan.id_perusahaan,
default_perusahaan.nama_perusahaan
FROM
default_users
INNER JOIN default_user_perusahaan ON default_user_perusahaan.id_default_user = default_users.id
INNER JOIN default_perusahaan ON default_perusahaan.id = default_user_perusahaan.id_default_perusahaan
WHERE default_users.id = $id_user";
$query_perusahaans = $this->db->query($query_perusahaan)->result_array();
$list_per = array();
$list_per[null] = "Tidak memakai perusahaan";
foreach ($query_perusahaans as $item => $nama) {
$list_per[$item] = $nama;
}
print_r($list_per);
die();
我期望的结果是id_perusahaan成为数组键。 我究竟做错了什么? :(
答案 0 :(得分:0)
替换
$list_per[$item] = $nama;
使用
$list_per[$nama['id_perusahaan']] = $nama['name_perusahaan'];
答案 1 :(得分:0)
您可以使用array_column而不是循环数组
$list_per = array_column($query_perusahaans, null, "id_perusahaan");
第三个参数设置键名。
这意味着array_column将返回没有特定列的数组(空),但是将键更改为“ id_perusahaan”。
这导致数组具有关联性
或者如果您想使数组平坦:
$list_per = array_column($query_perusahaans, "name_perusahaan", "id_perusahaan");