1 回答

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>';
- 1 回答
- 0 關注
- 98 瀏覽
添加回答
舉報