Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.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_Regex_Arrays_Split - Fatal编程技术网

Php Javascript:如何替换[]和“;?

Php Javascript:如何替换[]和“;?,php,javascript,regex,arrays,split,Php,Javascript,Regex,Arrays,Split,我将一个数组从PHP发送到JSON,并将其发送到JavaScript值。 现在我想在逗号的,上拆分数组。 这很好,但是当调用数组中的第一个和最后一个字符串时,我可以看到一个[,]和“ 我可以让“消失,但是[和]似乎是个问题 我现在的代码: data_array[i].replace(/["[]]/g,""); 如果将字符串值(如“[5,4,7,2,1]”从PHP传输到Javascript,则应该JSON将其解码为本机Javascript对象/数组 var receivedData = "[5,

我将一个数组从PHP发送到JSON,并将其发送到JavaScript值。 现在我想在逗号的
上拆分数组。 这很好,但是当调用数组中的第一个和最后一个字符串时,我可以看到一个
[
]

我可以让
消失,但是
[
]
似乎是个问题

我现在的代码:

data_array[i].replace(/["[]]/g,"");

如果将字符串值(如
“[5,4,7,2,1]”
从PHP传输到Javascript,则应该
JSON将其解码为本机Javascript对象/数组

var receivedData = "[5,4,7,2,1]";
    receivedData = JSON.parse( receivedData );
从那时起,您可以像普通数组一样访问
receivedData


您应该避开特殊角色:

data_array[i].replace(/["[\]]/g,"");

不要那样做。您应该使用JSON解析器。实际上只使用右大括号:
“open:[close:]”。替换(/[“[\]]]/g,”);//“引用:打开:关闭:”
你说得对,因为特殊字符不需要在方括号中转义。ThxIf
“[5,4,7,2,1]”“
是传输的字符串的样子,那么由于外部引号,它将不会被解析为数组。您的
var receivedData=“[5,4,7,2,1]”
并不完全等效,因为
语法没有成为字符串的一部分。服务器上的JSON编码似乎有一些问题需要解决。但是在那一点上,
JSON.parse
肯定是一种方式……哦,等等,也许这就是你所说的
JSON encode
?是PHP吗?@user1689607:是的,没错。PHP(就像几乎所有服务器端考虑的语言一样)有一个计数器将数据“编码”为JSON格式。它并没有真正编码成JavaScript,而是编码成可以解析成JavaScript的JSON。我只是有点不高兴谢谢jAndy和gion_13。你的两个工作都很好。但是jAndy的awnser在解析JSON时做得很好。但是知道替换格式是如何工作的是件好事。:)
data_array[i].replace(/["[\]]/g,"");