将表单字段值保存为数组

时间:2013-02-05 15:52:05

标签: php jquery html

我有一个名为$_POST['hidden-tags']

的表单字段

输入的值如下

cars, vans, bikes, trains,

我在帖子即时尝试拆分值并将它们保存到数组中,然后将该数组与我拥有的数组进行比较,并仅显示不同的值。我知道$ arr1有值,因为我测试了数据。

我到目前为止的代码是

  $arr1;

  $arr2 = array();

foreach($_POST['hidden-tags'] as $value){
$arr2[] = explode(",",$value);  
}

print_r($arr2);

   // $tmp = array_diff_key($arr1, $arr2);
     //  echo $tmp;

我在堆栈上找到的部分内容 PHP explode array

正如你所看到的,我最后一点被注释掉了。这样我就可以看到数组值。如果我回显$ arr2我在屏幕上看到的全部是

  

阵列()

即使我已经进入了汽车,自行车,面包车。我还没有比较两个数组并显示$ tmp变量

3 个答案:

答案 0 :(得分:1)

$_POST['hidden-tags']是否为文字输入字段?如果是这样,您不需要在其上运行foreach将其拆分为数组。只需将其爆炸并将生成的数组与您已有的数组进行比较。

答案 1 :(得分:0)

我不认为$ _POST ['hidden-tags']是一个数组,而是一个你要拆分的字符串。

此外,我认为您不希望在$ arr2的下一个索引中将拆分操作的结果保存在POST变量上,因为split将返回一个数组,这样您将在数组中拥有一个数组。

答案 2 :(得分:0)

    $arr1;

    $arr2 = array();

    $arr2[] = explode(",",$_POST['hidden-tags']);  

    print_r($arr2);

    $tmp = array_diff_key($arr1, $arr2);
    echo $tmp;