如何将 explode() 与 php 变量一起使用

How to use explode() with php variables

我正在使用 html table,其中每一行和每一列都有自己的 ID(例如 name="23_3")。 但是这个ID是由2个变量组成的 $calUser= $x['idTask'] . "-" . $y['idTime'];

我是这样explode()的:

list($uTask,$uTime) = explode("-", $_POST['$calUser'], 2);

但它没有任何想法?

编辑

抱歉忘了 input

<input type='text' name='" . $calUser . "' value='$calUser'>

首先,你是想爆$calUser,还是$calUser键对应的值?

我认为你应该这样做:

list($uTask,$uTime) = explode("-", $_POST[$calUser], 2);

删除 $_POST 键上的引号,否则您将要求输入文字“$calUser”

编辑

此外,您的输入标签必须是:

<input type='text' name='" . $calUser . "' value='" . $calUser  ."'>

虽然我不知道rou是使用字符串作为标签,还是直接回显输出,所以有些喜欢:

<?php
echo "<input type='text' name='" . $calUser . "' value='" . $calUser ."'>";

会被建议,我最喜欢的语法:

<?php
echo "<input type='text' name='{$calUser}' value='{$calUser}'>";

我喜欢括号,因为即使 SQL...

也更友好

您的案例输入应为:

<input type='text' name='calUser' value='". $calUser . "'>

通过查看生成的页面的源代码来验证这一点。

之后可以通过调用获取内容:

list($uTask,$uTime) = explode("-", $_POST['calUser'], 2);

但对于所有用户提供的内容 ($_POST),请检查内容是否真的在预期值范围内,以防止对您的页面进行 XSS 和注入攻击。