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

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

將 *.txt 文件中的數(shù)據(jù)插入 assoc 數(shù)組

將 *.txt 文件中的數(shù)據(jù)插入 assoc 數(shù)組

PHP
qq_笑_17 2022-06-17 10:52:44
我有一個文本文件'test.txt',其中包含水果名稱和它們的學名在不同的行中。我想創(chuàng)建一個數(shù)組$FRUIT_NAME ( fruit1=>"apple,               SNfruit1=>"Pyrus malus",                fruit2=>"mango",               SNfruit2=>"Mangifera indica"  ...  )SNfruit1但是,我在SNfruit2..這里是'test.txt'SNapple="Pyrus malus" SNmango="Mangifera indica" SNbanana="Musa paradisicum" SNorange="Citrus aurantium" SNDefault="No SN" fruit1="apple|$SNapple" fruit2="mango|$SNmango" fruit3="banana|$SNbanana" fruit4="orange|$SNorange" veg1="potato" veg2="cauliflower"這是代碼文件'test.php':$lines=explode("\n", file_get_contents('test.txt'));$FRUIT_NAME=[] ;$result=[];for($i=0; $i<count($lines); $i++){   if (strpos($lines[$i], '=') !== false)     {          $link = explode('=', $lines[$i], 2);         if (strpos(substr($lines[$i], 0, 2), 'SN') !== false)           $result[str_replace('"',"",$link[0])] = $link[1];        else        {   $FName=$link[1];           if (strpos($link[1], '|') !== false)              {                  $LINK = explode('|$', $link[1]);                 $FName=$LINK[0];                $SN=str_replace('"',"",$LINK[1]);              }           else $SN="SNDefault" ;           $FRUIT_NAME[$link[0]] = $FName ;           //$FRUIT_NAME["SN".$link[0]] = $SN ;           $FRUIT_NAME['SN'.$link[0]] = $result[$SN] ;        }    }}foreach ($result as $key => $value) echo "$key::$value".'<br>';echo '============================================';foreach ($FRUIT_NAME as $key => $value) echo "$key::$value".'<br>';  
查看完整描述

1 回答

?
慕桂英3389331

TA貢獻2036條經(jīng)驗 獲得超8個贊

重寫你的中間if-else語句:


if (strpos(substr($lines[$i], 0, 2), 'SN') !== false)

    $result[str_replace('"',"",$link[0])] = $link[1];

else


if (strpos(substr($lines[$i], 0, 2), 'SN') !== false){ 

   $result[$link[0]] = str_replace('"',"",$link[1]);

}


$FName=$link[1];

if (strpos($link[1], '|') !== false) {  

    $LINK = explode('|$', $link[1]); 

    $FName=$LINK[0];

    $SN=str_replace('"',"",$LINK[1]);

} else $SN="SNDefault" ;


$FRUIT_NAME[$link[0]] = $FName ; 

$FRUIT_NAME['SN'.$link[0]] = $result[$SN] ;


$link[1] = str_replace('"','',$link[1]);


if (strpos($link[1], '|$') !== false) {  

     $sublink = explode('|$', $link[1]); 

     $FRUIT_NAME[$link[0]] = $sublink[0]; 

     $FRUIT_NAME["SN".$link[0]] = $result[trim($sublink[1])];

} else { 

    $FRUIT_NAME[$link[0]] = $link[1] ; 

那么輸出將是:


SNapple::Pyrus malus

SNmango::Mangifera indica

SNbanana::Musa paradisicum

SNorange::Citrus aurantium

SNDefault::No SN

============================================

fruit1::apple

SNfruit1::Pyrus malus

fruit2::mango

SNfruit2::Mangifera indica

fruit3::banana

SNfruit3::Musa paradisicum

fruit4::orange

SNfruit4::Citrus aurantium

veg1::potato

veg2::cauliflower

問題在于true和false部分。


在true您str_replace使用了錯誤的元素時,這就是為什么您收到了諸如"apple而不是 clean 之類的值apple。


false部分你沒有,這trim就是索引不正確的原因,所以你$FRUIT_NAME的構(gòu)建不那么正確。


筆記: echo '============================================'.'<br>';


查看完整回答
反對 回復 2022-06-17
  • 1 回答
  • 0 關注
  • 98 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號