0

私のデータベースのフィールドからの以下のデータを考えてみましょう:

admin_language=
language=
editor=
helpsite=
timezone=0
page_title=Edit Your Details
show_page_title=1

そのデータをphpMyAdminから直接コピーして貼り付けました-そして、各KVPの区切りが新しい行であることがわかる限り(例\n)。実際、改行文字であるという考えも反映している PHP スクリプトを書いた人がいるフォーラムを見つけました。回答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

...

新しいラインで期待どおりに爆発しない理由がわかりません。

4

1 に答える 1

3

改行を一重引用符 ' ではなく二重引用符 " で囲む必要があります。PHP では引用符の扱いが異なります。一重引用符は文字列をそのまま扱います: \n ここで、二重引用符は引用符内の値を特殊文字として評価します。改行。

于 2013-06-16T23:33:27.960 に答える