如何在函数上向数组(带post)添加值?

时间:2017-11-09 23:12:46

标签: php arrays

我试图用$ _post句子使用函数向php数组添加值。但是当我添加一个值时,这会替换数组的元素[0]而不增加它的长度,是什么我做错了?。我用过#serial; serialize'和'反序列化'解决这个问题,因为没有功能它可以工作,但现在没有。

<?php

global $array;
$array = array();

$long = count($array);
$array = unserialize($_POST["array"]);

function add($value){

     $array[] =  $value ;

     return $array;

}

if (isset($_POST["Add"])){
    $array =  add($_POST['valor']);
     if(count($array)>0)
     {  
      print_r(array_values($array));
     }    
}
?>


<form action="" method="post">
    <input type="hidden" name="array" value='<?php echo serialize($array);?>'>
    Add value: <input type="text" name="valor" size="2"> 
    <input type="submit" name= "Add" value="Añadir">  
</form> 

提前致谢:)

1 个答案:

答案 0 :(得分:0)

最简单的方法是:

function add($value){
  global $array;
  $array[] =  $value;
  return $array;
}

这样您就可以使用先前声明的$array

最初,它只会创建一个空数组并在函数中添加您的值,因此它总是会返回一个值。

此外,由于$array是一个全局变量,因此您不需要从函数中返回它。你可以使用

function add($value){
  global $array;
  $array[] =  $value;
}

然后只是

add($_POST['valor']);

而不是

$array =  add($_POST['valor']);