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

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

PHP 在關聯數組數組中轉換數組數組

PHP 在關聯數組數組中轉換數組數組

PHP
大話西游666 2021-10-22 15:32:04
我讀了一個 csv 文件并得到了這個數組 $rowsArray( [0] => Array     (        [0] => Name        [1] => Company        [2] => Email        [3] => City    )[1] => Array    (        [0] => Foo        [1] => Foo & co        [2] => [email protected]        [3] => NY    )[2] => Array    (        [0] => Bar        [1] => Bar & co        [2] => [email protected]        [3] => Las Vegas    ))我會嘗試通過僅過濾第一個數組中包含的某些字段來將其轉換為關聯數組。結果應該是這樣Array([0] => Array   (    ['Name'] => Foo    ['Company'] => Foo & co    ['Email] => [email protected]   ) [1] => Array (    ['Name'] => Bar    ['Company'] => Bar & co    ['Email] => [email protected] ))不幸的是,我以各種方式嘗試過,但沒有成功。$name = array_search('Name', $rows[0]);$company = array_search('Company', $rows[0]);$email = array_search('Email', $rows[0]);$rows = unset($rows[0]);$array = array();foreach ( $rows as $r => $row ) {    foreach ( $row as $c => $cell ) {    if ($c == $name) { $array = array( 'name' => $cell ); }    if ($c == $company) { $array = array( 'company' => $cell ); }    if ($c == $email) { $array = array( 'email' => $cell ); }    }}你能給我一些建議嗎?謝謝
查看完整描述

2 回答

?
白衣染霜花

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

你可以試試下面的代碼。它將基于 csv 文件使該動態的標題名稱和值。


$header = array();

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


    if($key == 0){

        $header = array_values($value);

    }else{


        $final_result[]= array_combine($header, array_values($value));

    }

}


echo "<pre>";

print_r($final_result);


查看完整回答
反對 回復 2021-10-22
?
小怪獸愛吃肉

TA貢獻1852條經驗 獲得超1個贊

在閱讀文件時嘗試構建您想要的內容,而不必重新排列您一開始不想要的內容。


// loose the titles line

fgetcsv($file, 1000, ',')


$rows= [];


while ( $line = fgetcsv($file, 1000, ',') !== FALSE) {

    $rows[] = ['Name'=> $line[0], 'Company'=> $line[1], 'Email'=> $line[2] ];

}


查看完整回答
反對 回復 2021-10-22
  • 2 回答
  • 0 關注
  • 193 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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