1

所以我知道file()将每个新行都返回到一个数组中。

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

哪个返回

item1 item2 item3

在一条线上。不过,我知道 PHP 认为它是一个数组,而 JS 不会,如果我将上面的 PHP 脚本转换为一个函数然后执行以下操作:

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

在控制台中返回

var pluginsList = item1 item2 item3

虽然我希望:

var pluginsList = [item1,item2,item3];

我如何确保它 reutns 一个数组以便 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 回答