Php 检索post数组值
我有一个表单,它使用jQueryPhp 检索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.“”; } 并尝试了以
发送所有数据。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>";
}