Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在内部数组中进行foreach_Php_Laravel - Fatal编程技术网

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)**