从一个页面的表单传输数组到另外一个页面的问题
@test.php<?php
echo "<form method='post' action='@test2.php'>";
$sortIpArray=array("aa","bb","cc");
echo "<INPUT TYPE='hidden' NAME='sortIpArray[]' value='$sortIpArray'>";
echo "<input type='submit' value='submit'>";
echo "</form>";
?>@test2.php<?php
$sortIpArray=$_POST['sortIpArray'];
echo $sortIpArray."<br />";
foreach($sortIpArray as $element)
    echo "begin-".$element."-end"."<br />";
?>
预期结果:
array
begin-aa-end
begin-bb-end
begin-cc-end实际结果
array
begin-Array-end问题:为何无法传递数据,为何显示数组元素时结果为begin-Array-end,不是begin--end

解决方案 »

  1.   

    foreach($sortIpArray as $value){
      echo "<INPUT TYPE='hidden' NAME='sortIpArray[]' value='$value'>";
    }
      

  2.   

    谢谢PIGer920,请问:表单不能传递数组的吗?
      

  3.   

    为何显示数组元素时结果为begin-Array-end,不是begin--end
      

  4.   

    1 表单可以传递数组。只是没有你那种写法。
    2 echo一个数组的时候就会打印出Array
      

  5.   

    谢谢PIGer920,请问:表单不能传递数组的吗?表达错误,通过value赋值不能用数组吗
      

  6.   


    foreach($sortIpArray as $element)
        echo "begin-".$element."-end"."<br />";echo数组元素时,如果数组为空,为什么$element的值为null,那么应该显示begin--end,为何显示begin-Array-end
      

  7.   


    $sortIpArray=array("aa","bb","cc");
    echo "<INPUT TYPE='hidden' NAME='sortIpArray[]' value='$sortIpArray'>";是否value='$sortIpArray'赋的值是array呢另外请教下:echo "aa";
    $myArray = array();
    foreach($myArray as $element)
        echo "begin-".$element."-end"."<br />";
    echo "bb";
    为何显示:
    aabb
    不是:
    aabegin--end
    bb
      

  8.   

    你上面这句话是错误的。
    lz可以试一试下面的code:
    $testarray = null;
    echo "START=".$testarray."=END<br>";$testarray2 = array();
    echo "START=".$testarray2."=END";
      

  9.   

    都说了 没有这种写法  反正我没遇到过把整个数组赋给一个INPUT的
      

  10.   

    复习一下foreach的语法,数组为空,压根就没循环