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是最简单的方法。