PHP preg_split不工作

PHP preg_split不工作,php,javascript,preg-split,Php,Javascript,Preg Split,请参考下面的代码 $dArr = '<script>document.write(volunteerDist);</script>'; 但是$dArr是一个只有一个元素的数组,它是所有的值。。这意味着没有发生怀孕分裂。我也试过了 $temp=explode(",", $dArr); 但仍然不起作用 我尝试粘贴值(即上面的数字)并直接将其拆分 $temp=explode(",", '4.1,9.4,2.3,4.7,9.1,14.7,3.2,7.1,4.1,0.5');

请参考下面的代码

$dArr = '<script>document.write(volunteerDist);</script>';
但是$dArr是一个只有一个元素的数组,它是所有的值。。这意味着没有发生怀孕分裂。我也试过了

$temp=explode(",", $dArr);
但仍然不起作用

我尝试粘贴值(即上面的数字)并直接将其拆分

$temp=explode(",", '4.1,9.4,2.3,4.7,9.1,14.7,3.2,7.1,4.1,0.5');

这是成功的。怎么了?请注意,当我回显$dArr时,数字会被打印出来。

这里混合了服务器端和客户端的代码和逻辑

由于使用了将输出写入浏览器的
document.write
方法,因此可以看到“正确”的输出

不能在服务器端代码中直接与客户端变量交互

您必须使用AJAX将客户端值发送到服务器,或者在客户端解析它:

<script type="text/javascript">
var dArr = volunteerDist.split(",");
for (var i = 0; i < dArr.length; i++)
   document.write(dArr[i] + "<br />");
</script>
现在,在定义和创建变量后,在某个地方进行此操作:

<script type="text/javascript">
$.ajax({
    type: "POST",
    url: "yourpagehere.php",
    data: "volunteerDist=" + volunteerDist,
    dataType: "html"
});
</script>

$.ajax({
类型:“POST”,
url:“yourpagehere.php”,
数据:“志愿者区=”+志愿者区,
数据类型:“html”
});
要读取此数据并添加到数据库,请执行以下操作:

<?php
    $volunteerDist = $_POST['volunteerDist'];
    if(isset($volunteerDist)) {
        $dArr = preg_split("/,/", $volunteerDist);
        foreach($dArr as $volunteer) {
            $sql = "INSERT INTO TableName (fieldname) VALUES ('".$volunteer."')";
            mysql_query($sql) or die(mysql_error());
        }
    }
?>

这里混合了服务器端和客户端的代码和逻辑

由于使用了将输出写入浏览器的
document.write
方法,因此可以看到“正确”的输出

不能在服务器端代码中直接与客户端变量交互

您必须使用AJAX将客户端值发送到服务器,或者在客户端解析它:

<script type="text/javascript">
var dArr = volunteerDist.split(",");
for (var i = 0; i < dArr.length; i++)
   document.write(dArr[i] + "<br />");
</script>
现在,在定义和创建变量后,在某个地方进行此操作:

<script type="text/javascript">
$.ajax({
    type: "POST",
    url: "yourpagehere.php",
    data: "volunteerDist=" + volunteerDist,
    dataType: "html"
});
</script>

$.ajax({
类型:“POST”,
url:“yourpagehere.php”,
数据:“志愿者区=”+志愿者区,
数据类型:“html”
});
要读取此数据并添加到数据库,请执行以下操作:

<?php
    $volunteerDist = $_POST['volunteerDist'];
    if(isset($volunteerDist)) {
        $dArr = preg_split("/,/", $volunteerDist);
        foreach($dArr as $volunteer) {
            $sql = "INSERT INTO TableName (fieldname) VALUES ('".$volunteer."')";
            mysql_query($sql) or die(mysql_error());
        }
    }
?>

首先,如果只在
上拆分,
无论如何都应该使用
explode()
preg_split()
的性能损失可以忽略不计,但是如果你做的是任何形式的迭代,你也可以从
explode()
的简洁性和速度中获益。对我来说效果很好不,echo$dArr打印标签,然后浏览器将其作为数字列表呈现。在页面上查看源代码,您就会明白我的意思。你不能用这种方式在PHP中使用Javascript。我很确定你的第一行会失败。。。。
=
右侧的代码在前端执行。。。您是否检查了
$dArr
是否不为空???您是否希望在PHP执行时运行JavaScript代码,以便获得数字?首先,如果您仅在
上拆分,
您应该使用
explode()
preg_split()
的性能损失可以忽略不计,但是如果你做的是任何形式的迭代,你也可以从
explode()
的简洁性和速度中获益。对我来说效果很好不,echo$dArr打印标签,然后浏览器将其作为数字列表呈现。在页面上查看源代码,您就会明白我的意思。你不能用这种方式在PHP中使用Javascript。我很确定你的第一行会失败。。。。
=
右侧的代码在前端执行。。。您是否检查了
$dArr
是否不为空???您是否希望在PHP执行时运行JavaScript代码以便获得数字?var_dump($dArr)返回字符串(47)“4.1,9.4,2.3,4.7,9.1,14.7,3.2,7.1,4.1,0.5”,这意味着$dArr已经获得了数据。。我需要在php中使用它,因为我需要将它们插入到我的DataSeright中。计算
文档中的字符。写入(自愿者dist)=正好47。当发送到浏览器时,它将在客户端变量
autonovatedist
中显示值。将字符串更改为:
$dArr='alert(autojectdist);'也许你们会看到我一直想说的。若要将其插入数据库,你们必须使用AJAX。寻找jQueryAjax这是最简单和友好的方法-包括jQueryBasic库,然后用一行代码就可以将值发送到PHP代码中。。那么,如何将这些值转换到php代码中以插入mysql呢?正如我所说,jQuery AJAX是最简单的方法。var_dump($dArr)返回字符串(47)“4.1,9.4,2.3,4.7,9.1,14.7,3.2,7.1,4.1,0.5”,这意味着$dArr已经获得了数据。。我需要在php中使用它,因为我需要将它们插入到我的DataSeright中。计算
文档中的字符。写入(自愿者dist)=正好47。当发送到浏览器时,它将在客户端变量
autonovatedist
中显示值。将字符串更改为:
$dArr='alert(autojectdist);'也许你们会看到我一直想说的。若要将其插入数据库,你们必须使用AJAX。寻找jQueryAjax这是最简单和友好的方法-包括jQueryBasic库,然后用一行代码就可以将值发送到PHP代码中。。那么,如何将这些值转换到php代码中以插入mysql呢?正如我所说,jQueryAjax是最简单的方法。