PHP 什么是有效的数组形式?斜杠和刻度线


php what is a valid array form? slashes and tick marks

这让我发疯,所以非常感谢任何帮助。

我正在发布名称=opc[1] cat[2] 等的记录。 理想情况下,这将创建一个数组。 当我print_r发布的数据时,它会打印看起来像一个数组的内容,尽管键周围有刻度和斜杠。

但是,当我设置一个变量、$array或任何等于数组的变量时,print_r($array) 返回 0。 Echo 返回 Array。

可能与此有关,当我尝试在数组上执行foreach时,它给出了无效的参数错误。 我需要对发布的数据执行哪些操作,以便我可以将其设置为变量并将其用作有效数组。 我尝试了内爆、爆炸和剥离斜线的各种组合,以使其形成更好的形式,但只有 _POST 美元以print_r打印出来。 内爆生成错误。 分解创建一个只有 1 个项目的数组。

这是print_r($_POST['opc']);

Array ( [''0''] => dog [''1''] => cat [''2''] => mouse [''3''] => chicken [''4''] => runner [''5''] => )

我需要做什么才能使用它?

表单代码(前两条记录):

<tr><form action="editcats.php" method="post"><td align="right">Existing:</td><td align="left"><input type="text" size="12" name="ocp[0]" value="dog"><input type="hidden" name="id[0]" value="1"></tr>
<tr><td align="right"></td><td align="left"><input type="text" size="12" name="ocp[1]" value="cat"><input type="hidden" name="id[1]" value="2"><input type="submit" value="submit"></form></tr>

在查看了您的 HTML 源代码后,您似乎混淆了如何将数组变量传递给 $_POST 的方法。你也不应该有两个具有相同"名称"的元素,即使你希望它们发布到同一个数组。纠正将数据输入数组变量的方法,或者以不同的方式命名元素。

name 属性中删除索引,然后再次尝试运行表单。

请参阅此相关问题以获取一些帮助。

<input type="text" size="12" name="ocp[]" value="cat"><input type="hidden" name="id[]" value="2"><input type="submit" value="submit"></form></tr>