gpt4 book ai didi

PHP preg_split 不工作

转载 作者:行者123 更新时间:2023-11-30 09:00:25 27 4
gpt4 key购买 nike

请引用下面的代码。

$dArr = '<script>document.write(volunteerDist);</script>';

$dArr 获取 volunteerDist 的值。 echo $dArr 打印值 4.1,9.4,2.3,4.7,9.1,14.7,3.2,7.1,4.1,0.5

我想把它拆分成数组中的元素,所以我使用了:

$dArr = preg_split("/,/", $dArr);

但是 $dArr 是一个只有一个元素的数组,它是所有的值..意味着没有发生 preg_split。我也试过了

$temp=explode(",", $dArr);

但还是不行。

我尝试粘贴值(即上面的数字)并直接 preg_split

$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>

编辑:虽然我不是 PHP 开发人员,但阅读其他一些帖子给了我足够的示例代码。

要将客户端 volunteerDist 变量的值发送到 PHP 并保存到数据库,首先在您的代码中包含 jQuery:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

现在在变量定义和创建后的某处:

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

读取这些数据并添加到数据库:

<?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());
}
}
?>

当然,您需要将页面名称、表名称和字段名称更改为您的真实值。

关于PHP preg_split 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9718843/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com