Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将文件内容转换为JavaScript数组_Php_Javascript_Arrays - Fatal编程技术网

Php 将文件内容转换为JavaScript数组

Php 将文件内容转换为JavaScript数组,php,javascript,arrays,Php,Javascript,Arrays,所以我知道file()会将每一个新行返回到一个数组中 $plugins = file("plugins.txt"); foreach($plugins as $plugin) { echo $plugin; } 返回 item1 item2 item3 排成一行。不过,我知道PHP认为它是一个数组,而JS不认为,如果我将上述PHP脚本转换为函数,然后执行以下操作: var pluginsList = <?php echo filetoArray(); ?>; 当我希望

所以我知道
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];
我如何确保它是一个数组,以便JS可以读取

编辑: 多亏了这些答案,我终于得到了一个数组。但它的回报是这样的:

["item1\r\n","item2\r\n","item3\r\n","item4"]
但是,我希望删除\r\n。到目前为止,我所拥有的是:stru替换没有任何作用,它是一样的

    $plugins = file("plugins.txt");
    $plugins = json_encode($plugins);
    $plugins = str_replace("\n\r", "", $plugins);
    echo $plugins;
这么简单:

$plugins = file("plugins.txt");
$plugins = str_replace(array("\r\n", "\r", "\n"), '', $plugins);
$output = json_encode($plugins);
print $output;
这么简单:

$plugins = file("plugins.txt");
$plugins = str_replace(array("\r\n", "\r", "\n"), '', $plugins);
$output = json_encode($plugins);
print $output;

我相信您正在寻找的东西叫做JSON,它使PHP能够将PHP代码传递到JS中,并将JS传递到PHPSorry中。。。尽量做到描述性:/make array并使用
json\u encode()
我相信您正在寻找的东西叫做json,它使PHP能够将PHP代码传递到JS,并将JS传递到PHPSorry。。。尽量做到描述性:/make array并使用
json\u encode()
谢谢!虽然现在它在每行之后返回\n\r,并且rtrim()没有删除,但出于某种原因………@devs查看
nl2br()如果要将\n\r转换为新行。否则,如果要将其全部删除,请使用
str\u replace(“\n\r”,”,$VarToReplacein)
@ArmelLarcier您的编辑也不会替换,因为
json\u encode
已经将CR/LFs转换为转义字符串本身。最好在编码之前执行
str\u replace
:谢谢!虽然现在它在每行之后返回\n\r,并且rtrim()没有删除,但出于某种原因………@devs查看
nl2br()如果要将\n\r转换为新行。否则,如果要将其全部删除,请使用
str\u replace(“\n\r”,”,$VarToReplacein)
@ArmelLarcier您的编辑也不会替换,因为
json\u encode
已经将CR/LFs转换为转义字符串本身。最好在编码之前执行
str\u replace