将数组数据从javascript传递到php - 数组成员中的逗号问题

时间:2017-11-08 10:09:49

标签: javascript php arrays

我已经试图将这种情况分类数周,但却无法实现。 我的问题是我在javascript中有一个数组但是数组中的各个短语也有逗号。 我使用POST将数组作为变量传递给php,php将数组爆炸成变量,但也分离了带逗号的数组成员。

第1步:javascript中的数组

wrongOnes = ("blah blah blah", "bing, boing, bing");

第2步:通过php阅读

$myArray = explode(',', $_POST["wrongOnes"]);

步骤3:然后将其发布为要发布的消息

foreach($myArray as $my_Array){
$message .= "\r\n".$my_Array;  
}

你可以看到问题正在爆发,逗号分离会产生$ myArray的额外成员。

我觉得答案应该很简单,但我目前的php水平很弱。有人可以帮忙吗?

干杯

查。

2 个答案:

答案 0 :(得分:0)

在这里,只要他们像你一样被引用。

$str = '"blah blah blah", "bing, boing, bing"';

preg_match_all('/"(.*?)"/', $str, $match);

print_r($match[1]);

输出

 Array
(
    [0] => blah blah blah
    [1] => bing, boing, bing
)

你可以在这里试试

http://sandbox.onlinephpfunctions.com/code/b12ba98b423d7e1dda792f3bd51e11cdb3fa1c16

答案 1 :(得分:0)

1) JSON编码您的阵列在javascript 发送之前

使用JavaScripts JSON Object的stringify方法

jsonString = JSON.stringify(wrongOnes)

2)使用json_decode函数解码PHP中的JSON

$myArray=json_decode($_POST['jsonString']);

让你原来的阵列回来。

参考文献:

  

PHP json_decode
  JavaScript JSON.stringify

如果您碰巧错过了安装中的json模块,请查看此StackOverflow帖子:
PHP Fatal error: Call to undefined function json_decode()