Php 检索post数组值

Php 检索post数组值,php,jquery,arrays,Php,Jquery,Arrays,我有一个表单,它使用jQuery发送所有数据。serialize()表单中有四个数组qty[],等等它将表单数据发送到sendMail页面,我希望从数组中获取已发布的数据 我试过: $qty = $_POST['qty[]']; foreach($qty as $value) { $qtyOut = $value . "<br>"; } $qty=$\u POST['qty[]'; foreach(数量为$value) { $qtyOut=$value.“”; } 并尝试了以

我有一个表单,它使用jQuery
发送所有数据。serialize()
表单中有四个
数组qty[],等等
它将表单数据发送到sendMail页面,我希望从数组中获取已发布的数据

我试过:

$qty = $_POST['qty[]'];
foreach($qty as $value)
{
  $qtyOut = $value . "<br>";
}
$qty=$\u POST['qty[]';
foreach(数量为$value)
{
$qtyOut=$value.“
”; }
并尝试了以下方法:

for($q=0;$q<=$qty;$q++)
{
 $qtyOut = $q . "<br>";
}

对于($q=0;$q您在
$\u POST
变量中有
[]
——这些不是必需的。您应该使用:

$qty=$\u POST['qty'];

您的代码将是:

$qty = $_POST['qty'];

foreach($qty as $value) {

   $qtyOut = $value . "<br>";

}
$qty=$\u POST['qty'];
foreach(数量为$value){
$qtyOut=$value.“
”; }
PHP可以很好地处理嵌套数组

尝试:


php自动检测$\u POST$\u GET-数组,以便您可以使用:

<form method="post">
    <input value="user1"  name="qty[]" type="checkbox">
    <input value="user2"  name="qty[]" type="checkbox">
    <input type="submit">
</form>

<?php
$qty = $_POST['qty'];
甚至

print_r($_POST);

查看它是如何存储的。

我的PHP 4.4.4版本抛出一个错误: 致命错误:调用未定义的函数:size()

我将大小更改为计数,然后例程正常运行

<?php
$qty = $_POST['qty'];

if (is_array($qty)) {
   for ($i=0;$i<count($qty);$i++)
   {
       print ($qty[$i]);
   }
}
?>

我更喜欢foreach而不是for,因为您不需要处理尺寸

if( isset( $_POST['qty'] ) )
{
    $qty = $_POST ['qty'] ;
    if( is_array( $qty ) )
    {
        foreach ( $qty as $key => $value ) 
        {
            print( $value );
        }
    }
}
尝试将filter\u input()与filter\u SANITIZE\u SPECIAL\u CHARS和filter\u REQUIRE\u数组一起使用,如图所示

$qty=filter_input(INPUT_POST, 'qty',FILTER_SANITIZE_SPECIAL_CHARS,FILTER_REQUIRE_ARRAY);
然后,您可以按如下方式很好地遍历它

foreach($qty as $key=>$value){
    echo $value . "<br>";
   }
foreach($key=qty>$value){
回声$value.“
”; }
尝试使用
$qty=$\u POST['qty'];
完全正确。值得注意的一点是:不要忘记[]在HTML中输入的名称中。我忘记了这个,我浪费了很多时间。你的答案对于多个数组来说是完美的。例如,我将发布名称和年龄,因为我可以同时获得这两个值。要添加到这一点,请在括号之间设置实际值,而不是将其留空,并通过以下方法解析返回的数组foreach(数组\表达式为$key=>$value)foreach循环可以保留id。在处理多个页面时非常有用
if( isset( $_POST['qty'] ) )
{
    $qty = $_POST ['qty'] ;
    if( is_array( $qty ) )
    {
        foreach ( $qty as $key => $value ) 
        {
            print( $value );
        }
    }
}
$qty=filter_input(INPUT_POST, 'qty',FILTER_SANITIZE_SPECIAL_CHARS,FILTER_REQUIRE_ARRAY);
foreach($qty as $key=>$value){
    echo $value . "<br>";
   }