从我的数据库中的字段中考虑以下数据:
admin_language=
language=
editor=
helpsite=
timezone=0
page_title=Edit Your Details
show_page_title=1
我直接从phpMyAdmin复制并粘贴了这些数据 - 因此我可以告诉每个KVP的中断是一个新行(例如\n
)。事实上,我找到了一个人写了一个PHP脚本that also echo's the idea that they are new line characters的论坛。 najtrok
于2011年5月12日下午12:18回答。
但是,以下脚本:
echo $newLine . "settings: $newSettings" . $newLine;
$temp = explode('\n', $newSettings);
foreach ($temp as $kvp) {
list($key, $val) = explode('=', $kvp);
echo "key: $key | val: $val" . $newLine;
}
产生了以下输出:
settings: admin_language= language= editor= helpsite= timezone= page_title=Edit Your Details show_page_title=1
key: admin_language | val: language
settings: admin_language= language= editor= helpsite= timezone=
key: admin_language | val: language
...
我无法理解为什么它没有像我期望的那样在新线上爆炸。
答案 0 :(得分:3)
你需要将换行符换成双引号“而不是单引号”.PHP以不同的方式处理引号,单引号将字符串视为:\ n其中,双引号评估引号内的值为特殊字符换行符。