第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

php 將文件拆分為 $key=>$value 對,具有重復的鍵

php 將文件拆分為 $key=>$value 對,具有重復的鍵

PHP
一只斗牛犬 2023-04-21 15:19:50
我一直在努力解決這個問題,但我只是大腦凍結了。我有一個包含多行的文件,每行由“=”分隔成單獨的數據:// Example file. Syntax: <key>=<Value>key1=value1key1=value2key1=value3key2=value1key2=value2key3=value1key3=value2key3=value3key3=value4我需要將這個文件分解成單獨的行,并將它們全部放入一個數組中,這樣 key1 包含一個 value1、2、3 的數組,key2 有它的值,key3 有它的值,依此類推。有點像這樣:Array(    [key1] => Array        (        [0] => value1        [1] => value2        [2] => value3        )    [key2] => Array        (        [0] => value1        [1] => value2        )    [key3] => Array        (        [0] => value1        [1] => value2        [2] => value3        [3] => value4        ))到目前為止,我有以下代碼:$loadFile = file('file.txt');$returnArray = array();foreach ($loadFile as $line) {  $startWith = substr(trim($line), 0, 2);    if (empty($line) || $startWith == '//') {          continue;  }  list($key, $value) = explode('=', $line);  $returnArray[$key] = $value;}return $returnArray;然而,我得到的只是:Array ( [key1] => value3 [key2] => value2 [key3] => value4 )我也試過$loadFile = file('file.txt');$returnArray = array();foreach ($loadFile as $line) {  $startWith = substr(trim($line), 0, 2);    if (empty($line) || $startWith == '//') {          continue;  }  $exp = explode('=', $line);  $returnArray[$exp[0]] = $exp[1];}return $returnArray;這也給了我同樣的結果。我還嘗試了一個 array_merge,它只是將所有內容都推入一個以數值為鍵的數組中。
查看完整描述

3 回答

?
SMILET

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

我認為您的問題是您覆蓋了密鑰的值。

$returnArray[$key] = $value;

所以你想要的是將你的值附加到一個以$key為父級的子數組。

$returnArray[$key][] = $value;

隨著[]你追加$value到底層數組。


查看完整回答
反對 回復 2023-04-21
?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

為了好玩,只需將它們轉換為ini文件的數組語法并解析它:


$result = parse_ini_string(str_replace('=', '[]=', file_get_contents('file.txt')));

更有趣的是,把它們變成一個查詢字符串并解析它:


parse_str(str_replace('=', '[]=', implode('&', file('file.txt'))), $result);

兩者都產生:


Array

(

    [key1] => Array

        (

            [0] => value1

            [1] => value2

            [2] => value3

        )


    [key2] => Array

        (

            [0] => value1

            [1] => value2

        )


    [key3] => Array

        (

            [0] => value1

            [1] => value2

            [2] => value3

            [3] => value4

        )

)


查看完整回答
反對 回復 2023-04-21
?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

你應該將你的值附加到 $returnArray[$key] 的子數組中

array_push($returnArray[$key],$value) ;


查看完整回答
反對 回復 2023-04-21
  • 3 回答
  • 0 關注
  • 221 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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