亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 foreach 返回的值創建動態數組

使用 foreach 返回的值創建動態數組

PHP
慕田峪9158850 2023-08-11 16:15:00
我在計算百分比后以這種方式返回值。     $school = $api->schools;                foreach ($school as $key => $value){    $name = $value->id;    $data = DB::table('sys_users')        ->where('schoolid','=',$name)        ->get();    $exist1 = count($data)*4;    $datarecord = DB::table('sys_record')        ->join('sys_users', 'sys_users.id_jovens', '=', 'sys_record.id_user')        ->where('sys_users.schoolid','=',$name)        ->get();    $correct1 = count($datarecord);            function porcentagem_nx($parcial,$total) {                return ($parcial * 100) / $total;            }    $worldone[$value->id] = porcentagem_nx($correct1, $exist1);        // Because you already used $data above, I chose a different name    // for this array.    $items[] = [        "id"       => $value->id,        "name"     => $value->name,        "worldone" => $worldone,    ];}                dd($items);我將在數據表上使用它,因此我的手動測試有必要像下面的那樣,但是是動態的。$data = [                [                "id" => 1,                "name" => "Brand",                "worldone" => $worldone,                ],                [                    "id" => 2,                    "name" => "Just",                    "worldone" => $worldone,                ],            ];我無法將 worldone 變量中的信息從 foreach 中取出并使變量 $school 中的所有數組記錄的數組動態化。
查看完整描述

1 回答

?
SMILET

TA貢獻1796條經驗 獲得超4個贊

我的這個答案可能是錯的,但我會嘗試一下。如果我做出了一些可能不正確的假設,請告訴我。您想要從foreach循環中獲取的結果值如下所示:


$data = [

    [

        "id"       => 1,

        "name"     => "name",

        "worldone" => $worldone,

    ],

];

所以我的建議是這樣的循環foreach:


foreach ($school as $key => $value){

    $name = $value->id;


    $data = DB::table('sys_users')

        ->where('schoolid','=',$name)

        ->get();


    $exist1 = count($data)*4;


    $datarecord = DB::table('sys_record')

        ->join('sys_users', 'sys_users.id_jovens', '=', 'sys_record.id_user')

        ->where('sys_users.schoolid','=',$name)

        ->get();


    $correct1 = count($datarecord);


    $worldone[$value->id] = porcentagem_nx($correct1, $exist1);

    

    // Because you already used $data above, I chose a different name

    // for this array.

    $items[] = [

        "id"       => $value->id,

        "name"     => $value->name,

        "worldone" => $worldone,

    ];

}

該$items變量將根據您指定的內容設置所有項目。我假設id和的值name位于循環$value中的對象中foreach。如果這是錯誤的,請告訴我,我可以更新答案以顯示它們應該來自哪里。


您可以循環$items或調用類似的內容print_r($items[0]);,輸出應該為您提供與$data上面的數組類似的內容。


查看完整回答
反對 回復 2023-08-11
  • 1 回答
  • 0 關注
  • 156 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號