foreach 追加問題,求高手幫忙看看。
$citycode = array(
"北京"=>"101010100",
"朝陽"=>"101010300"
);
foreach ($citycode as $arr => $value) {
$citycode[$arr] = "http://weather.xxx.com/".substr($citycode[$arr], 3,4).".txt";
//$citycode[$arr] .= "http://weather.xxx.com/".$citycode[$arr].".txt";
}
/*
功能:按行儲存為檔案
*/
saveFile('api/weather.txt',implode("\r\n",$citycode));
?>
我想根據數組儲存為換行檔案,如下:
http://weather.xxx.com/0101.txt
http://weather.xxx.com/101010100.txt
http://weather.xxx.com/0103.txt
http://weather.xxx.com/101010300.txt
要怎麼做?
我現在只能做到:
http://weather.xxx.com/0101.txt
http://weather.xxx.com/0103.txt
怎麼追加進去呢?
------解決思路----------------------
foreach ($citycode as $arr => $value) {
$citycode[$arr] = "http://weather.xxx.com/".substr($citycode[$arr], 3,4).".txt";
//$citycode[$arr] .= "http://weather.xxx.com/".$citycode[$arr].".txt";
}
你這樣明顯的用t同樣的索引值覆蓋了之前的值嘛,要不就換個索引值如
$citycode[$arr.'1'] = "http://weather.xxx.com/".substr($citycode[$arr], 3,4).".txt";
------解決思路----------------------
$citycode = array(
"北京"=>"101010100",
"朝陽"=>"101010300"
);
$tmp = array();
foreach ($citycode as $arr => $value) {
$tmp[] = "http://weather.xxx.com/".substr($value, 3,4).".txt";
$tmp[] = "http://weather.xxx.com/".$value.".txt";
}
echo implode("\r\n", $tmp);
//saveFile('api/weather.txt',implode("\r\n",$citycode));
http://weather.xxx.com/0101.txt
http://weather.xxx.com/101010100.txt
http://weather.xxx.com/0103.txt
http://weather.xxx.com/101010300.txt
樓主是想這樣嗎?
------解決思路----------------------
$citycode[$arr] .= "http://weather.xxx.com/".$citycode[$arr].".txt";
這裡的$citycode[$arr] 已經被修改了
被上一句$citycode[$arr] = "http://weather.xxx.com/".substr($citycode[$arr], 3,4).".txt";
另外:$citycode[$arr] .= "http://weather.xxx.com/".$citycode[$arr].".txt";
使用拼接的話你忘記換行了。
改這樣就可以了
$citycode = array(
"北京"=>"101010100",
"朝陽"=>"101010300"
);
$result = array();
foreach ($citycode as $arr => $value) {
array_push($result,"http://weather.xxx.com/".substr($value, 3,4).".txt");
array_push($result,"http://weather.xxx.com/".$value.".txt");
}
/*
功能:按行儲存為檔案
*/
saveFile('api/weather.txt',implode("\r\n",$result));
http://weather.xxx.com/0101.txt
http://weather.xxx.com/101010100.txt
http://weather.xxx.com/0103.txt
http://weather.xxx.com/101010300.txt