Php 如何在内部数组中进行foreach
在我的关系数据库中,Php 如何在内部数组中进行foreach,php,laravel,Php,Laravel,在我的关系数据库中, [ { "id_sub_bidang": 1, "nama_sub_bidang": "Frontend Developer" }, { "id_sub_bidang": 1, "nama_sub_bidang": "Senior Marketing" }, { "id_sub_bidang": 2, "nama
[
{
"id_sub_bidang": 1,
"nama_sub_bidang": "Frontend Developer"
},
{
"id_sub_bidang": 1,
"nama_sub_bidang": "Senior Marketing"
},
{
"id_sub_bidang": 2,
"nama_sub_bidang": "Frontend Developer"
},
{
"id_sub_bidang": 2,
"nama_sub_bidang": "Senior Marketing"
}
]
如果id_sub_bidang=1,则nama_sub_bidang为“前端开发人员”
如果id_sub_bidang=2,则nama_sub_bidang为“高级营销”
我的代码
$data = Company::find($id);
$result_data = array();
foreach ($data->posting_job as $hasil) {
foreach ($data->sub_bidang as $value) {
$result_data[] = [
'id_sub_bidang' => $hasil->id_sub_bidang,
'nama_sub_bidang' => $value->nama
];
}
}
return response()->json($result_data);
输出
[
{
"id_sub_bidang": 1,
"nama_sub_bidang": "Frontend Developer"
},
{
"id_sub_bidang": 1,
"nama_sub_bidang": "Senior Marketing"
},
{
"id_sub_bidang": 2,
"nama_sub_bidang": "Frontend Developer"
},
{
"id_sub_bidang": 2,
"nama_sub_bidang": "Senior Marketing"
}
]
预期结果
[
{
"id_sub_bidang": 1,
"nama_sub_bidang": "Frontend Developer"
},
{
"id_sub_bidang": 2,
"nama_sub_bidang": "Senior Marketing"
}
]
我想在内部数组中循环,但不起作用。所以,我用这种方式。
问题出在哪里?将foreach循环更改为:
foreach ($data->posting_job as $hasil) {
foreach ( $hasil->id_sub_bidang as $hasilid) {
$result_data[] = ['id_sub_bidang' => $hasil->id_sub_bidang];
foreach ($data->sub_bidang as $value) {
$result_data[] = ['nama_sub_bidang' => $value->nama];
}
}
}
构建一个数组,然后使用recursive方法通过复制条目清除数组
另一个解决方案
$empty_stats = Array(
'id_sub_bidang' => null,
'nama_sub_bidang' => null
);
foreach ($array as $value) {
if (!array_key_exists($id_sub_bidang, $array)) {
$array[] = $empty_stats;
}
$array[] = [
'id_sub_bidang' => $hasil->id_sub_bidang,
'nama_sub_bidang' => $value->nama
];
}
共享您的
$data
?您预期的结果是什么?@martiendt抱歉,已添加:)为foreach()提供的参数无效此代码**foreach($hasil->id_sub_bidang as$hasilid)**