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

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

如何使用 while 循環以編程方式創建多維數組

如何使用 while 循環以編程方式創建多維數組

PHP
繁星淼淼 2023-06-24 16:13:39
我正在嘗試使用 PHP 讀取 CSV 文件并根據特定行的匹配構建數組。CSV 文件內容如下所示:id, name, qty, price1,Jeff,2,59,2,Tom,3,36,3,Lenny,2,25,4,Tom,5,69,5,Jeff,3,19,6,Tom,2,75,我使用“while”循環來讀取 CSV 文件:while (($row = fgetcsv($h, 10000, ",")) !== FALSE) {這個想法是:如果在閱讀 CSV 文件時,發現與 $row[1] 匹配,如下所示......if($row[1] == 'Tom') {...當“while 循環”完成時,會創建一個如下所示的數組:array('item_1' => array('id' => 2, 'name' => 'Tom', 'qty' => 3, 'price' => 36),'item_2' => array('id' => 4, 'name' => 'Tom', 'qty' => 5, 'price' => 69),'item_3' => array('id' => 6, 'name' => 'Tom', 'qty' => 2, 'price' => 75));(第一個元素的“項目編號”需要以“item_1”開頭,并在添加新元素時遞增 1)。如果這是可能的,需要使用什么邏輯?
查看完整描述

1 回答

?
蝴蝶不菲

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

只需將一個元素分配給結果數組即可。


$result = [];

$index = 1;

$cols = fgetcsv($h, ","); // get header row

while (($row = fgetcsv($h, 10000, ",")) !== FALSE) {

    if ($row[1] == 'Tom') {

        $result['item_' . $index++] = array_combine($cols, $row);

    }

}


查看完整回答
反對 回復 2023-06-24
  • 1 回答
  • 0 關注
  • 130 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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