1

だから私file()は、すべての新しい行を配列に返すことを知っています。

$plugins = file("plugins.txt");
foreach($plugins as $plugin) {
    echo $plugin;
 }

どちらが返されますか

item1 item2 item3

一行で。ただし、上記のPHPスクリプトを関数に変換してから実行すると、PHPはそれが配列であると認識しますが、JSはそうではありません。

var pluginsList = <?php echo filetoArray(); ?>;

コンソールに返されるもの

var pluginsList = item1 item2 item3

私が望んでいた間:

var pluginsList = [item1,item2,item3];

JSが読み取れるように配列を返すようにするにはどうすればよいですか?

編集:答えのおかげで、最終的に配列を取得しました。しかし、次のように返されます。

["item1\r\n","item2\r\n","item3\r\n","item4"]

ただし、 \r\n を削除したいです。私がこれまでに持っていること: str_replace は何もしません。それは同じです。

    $plugins = file("plugins.txt");
    $plugins = json_encode($plugins);
    $plugins = str_replace("\n\r", "", $plugins);
    echo $plugins;
4

1 に答える 1

4

このように簡単:

$plugins = file("plugins.txt");
$plugins = str_replace(array("\r\n", "\r", "\n"), '', $plugins);
$output = json_encode($plugins);
print $output;
于 2012-12-02T16:39:33.313 に答える