如何在多维数组中保留一些键和值的同时去掉键和值
How to get rid of keys and values while leaving some keys and values in a multidimensional array
所以我有一个这样的多维数组:
Array
(
[0] => Array
(
[id_user] => 2112100001
[nik] => 3216060611900007
[nama] => Jauharuddien Sofari
[tempat_lahir] => Klaten
[tanggal_lahir] => 1995-12-21
[jk] => L
[id_agama] => 1
[no_telp] => 081123123123
[alamat] => elapa dua wetan jakarta
[tanggal_masuk] => 2020-11-03
[gaji_pokok] => 4500000.00
[id_role] => SPV
[score] => 0.5
[created_at] => 2021-12-10 09:46:25
[created_by] => 2112010001
[update_at] => 2022-01-07 21:00:19
[update_by] => 2201050001
[id_department] => 1
[nama_department] => Quality Control
[id_jabatan] => 1
[nama_jabatan] => Supervisor
[status] => 4
[total_overtime] => 6
[val_overtime] => 4
[val_workexp] => 2
[val_age] => 2
[val_salary] => 2
)
[1] => Array
(
[id_user] => 2112100008
[nik] => 3216060611900014
[nama] => Biantono
[tempat_lahir] => Jakarta
[tanggal_lahir] => 1982-12-08
[jk] => L
[id_agama] => 1
[no_telp] => 081123123123
[alamat] => Pasar rebo
[tanggal_masuk] => 2020-02-12
[gaji_pokok] => 5000000.00
[id_role] => SPV
[score] => 0.29
[created_at] => 2021-12-10 10:07:35
[created_by] => 2112010001
[update_at] => 2022-01-07 21:00:19
[update_by] => 2201050001
[id_department] => 4
[nama_department] => Human Resource
[id_jabatan] => 1
[nama_jabatan] => Supervisor
[status] => 4
[total_overtime] => 6
[val_overtime] => 4
[val_workexp] => 2
[val_age] => 4
[val_salary] => 3
)
[2] => Array
(
[id_user] => 2112100005
[nik] => 3216060611900011
[nama] => Agung Nugroho
[tempat_lahir] => Yogyakarta
[tanggal_lahir] => 1985-07-31
[jk] => L
[id_agama] => 1
[no_telp] => 081123123123
[alamat] => Jl. raya jababeka 2 no.112
[tanggal_masuk] => 2008-09-10
[gaji_pokok] => 6000000.00
[id_role] => SPV
[score] => 0.28
[created_at] => 2021-12-10 10:00:56
[created_by] => 2112010001
[update_at] => 2022-01-07 21:00:19
[update_by] => 2201050001
[id_department] => 4
[nama_department] => Human Resource
[id_jabatan] => 5
[nama_jabatan] => Foreman
[status] => 4
[total_overtime] => 7
[val_overtime] => 4
[val_workexp] => 4
[val_age] => 4
[val_salary] => 4
)
)
我只需要取一些键,但要保持相同的结构。像这样:
Array
(
[0] => Array
(
[val_overtime] => 4
[val_workexp] => 2
[val_age] => 2
[val_salary] => 2
)
[1] => Array
(
[val_overtime] => 4
[val_workexp] => 2
[val_age] => 4
[val_salary] => 3
)
[2] => Array
(
[val_overtime] => 4
[val_workexp] => 4
[val_age] => 4
[val_salary] => 4
)
)
怎么做?
我试过像这样在循环中手动提取值:
foreach ($arr_result_all as $key => $value) {
foreach ($value as $key1 => $value1) {
}
}
但是我卡住了,我不知道在第二次迭代中又该做什么..
请帮忙,非常感谢你的帮助
提供类似但略有不同的解决方案
$newArr = array();
$targetKeys = array("val_overtime","val_workexp","val_age","val_salary");
foreach($arr_result_all as $d){
$newAssoc = array();
foreach($targetKeys as $key){
$newAssoc[$key] = $d[$key];
}
$newArr[] = $newAssoc;
}
print_r($newArr);
所以我有一个这样的多维数组:
Array
(
[0] => Array
(
[id_user] => 2112100001
[nik] => 3216060611900007
[nama] => Jauharuddien Sofari
[tempat_lahir] => Klaten
[tanggal_lahir] => 1995-12-21
[jk] => L
[id_agama] => 1
[no_telp] => 081123123123
[alamat] => elapa dua wetan jakarta
[tanggal_masuk] => 2020-11-03
[gaji_pokok] => 4500000.00
[id_role] => SPV
[score] => 0.5
[created_at] => 2021-12-10 09:46:25
[created_by] => 2112010001
[update_at] => 2022-01-07 21:00:19
[update_by] => 2201050001
[id_department] => 1
[nama_department] => Quality Control
[id_jabatan] => 1
[nama_jabatan] => Supervisor
[status] => 4
[total_overtime] => 6
[val_overtime] => 4
[val_workexp] => 2
[val_age] => 2
[val_salary] => 2
)
[1] => Array
(
[id_user] => 2112100008
[nik] => 3216060611900014
[nama] => Biantono
[tempat_lahir] => Jakarta
[tanggal_lahir] => 1982-12-08
[jk] => L
[id_agama] => 1
[no_telp] => 081123123123
[alamat] => Pasar rebo
[tanggal_masuk] => 2020-02-12
[gaji_pokok] => 5000000.00
[id_role] => SPV
[score] => 0.29
[created_at] => 2021-12-10 10:07:35
[created_by] => 2112010001
[update_at] => 2022-01-07 21:00:19
[update_by] => 2201050001
[id_department] => 4
[nama_department] => Human Resource
[id_jabatan] => 1
[nama_jabatan] => Supervisor
[status] => 4
[total_overtime] => 6
[val_overtime] => 4
[val_workexp] => 2
[val_age] => 4
[val_salary] => 3
)
[2] => Array
(
[id_user] => 2112100005
[nik] => 3216060611900011
[nama] => Agung Nugroho
[tempat_lahir] => Yogyakarta
[tanggal_lahir] => 1985-07-31
[jk] => L
[id_agama] => 1
[no_telp] => 081123123123
[alamat] => Jl. raya jababeka 2 no.112
[tanggal_masuk] => 2008-09-10
[gaji_pokok] => 6000000.00
[id_role] => SPV
[score] => 0.28
[created_at] => 2021-12-10 10:00:56
[created_by] => 2112010001
[update_at] => 2022-01-07 21:00:19
[update_by] => 2201050001
[id_department] => 4
[nama_department] => Human Resource
[id_jabatan] => 5
[nama_jabatan] => Foreman
[status] => 4
[total_overtime] => 7
[val_overtime] => 4
[val_workexp] => 4
[val_age] => 4
[val_salary] => 4
)
)
我只需要取一些键,但要保持相同的结构。像这样:
Array
(
[0] => Array
(
[val_overtime] => 4
[val_workexp] => 2
[val_age] => 2
[val_salary] => 2
)
[1] => Array
(
[val_overtime] => 4
[val_workexp] => 2
[val_age] => 4
[val_salary] => 3
)
[2] => Array
(
[val_overtime] => 4
[val_workexp] => 4
[val_age] => 4
[val_salary] => 4
)
)
怎么做?
我试过像这样在循环中手动提取值:
foreach ($arr_result_all as $key => $value) {
foreach ($value as $key1 => $value1) {
}
}
但是我卡住了,我不知道在第二次迭代中又该做什么..
请帮忙,非常感谢你的帮助
提供类似但略有不同的解决方案
$newArr = array();
$targetKeys = array("val_overtime","val_workexp","val_age","val_salary");
foreach($arr_result_all as $d){
$newAssoc = array();
foreach($targetKeys as $key){
$newAssoc[$key] = $d[$key];
}
$newArr[] = $newAssoc;
}
print_r($newArr);