【发布时间】:2020-04-06 14:09:59
【问题描述】:
我有一个文本文件'test.txt',在不同的行中包含水果名称和它们的学名。
我想创建一个数组
$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>';
【问题讨论】:
标签: php arrays associative-array key-value