array_push无法在foreach循环中工作

问题描述:

我试图通过foreach循环向数组中添加值时遇到了问题。 基本上我有这种形式,其中有一堆话题,用户可以点击'喜欢'或'不喜欢'每个主题的两个单选按钮。然后我想要在两个单独的数组中收集“喜欢”和“不喜欢”,并将它们插入到数据库中,但我做的不正确。 下面是从HTML代码的示例:array_push无法在foreach循环中工作

Action movies Like<input type="radio" name="1" value="1" /> Dislike<input type="radio" id="2" name="1" value="2" /> 

而PHP代码:

if (isset($_POST['submit'])) { 
    $likes = array(); 
    $dislikes = array(); 

    foreach($_POST as $key => $value) { 

     /* $key is the name of the object an user can click "like" or "dislike" on, $value 
     is either 'like', which is equal to '2' or 'dislike', equal to '1' */ 
     if ($value > 1) { array_push($likes, $key); } else { array_push($dislikes, $key); 
    } 
} 
echo 'The object(s) the user likes: ' . $likes . ' , 
     and the object(s) the user dislikes: ' . $dislikes; 

我然而收到此:

“的对象(一个或多个)用户喜欢:数组,以及用户不喜欢的对象:阵列“

我敢肯定,这只是我在这里犯的一个愚蠢的错误。我已经搜索了很多,但我一直没有找到任何可以帮助我的解决方案。

+0

为什么你使用的别名'加入()''主场迎战破灭()'直接标识及名称不能只有数字(或一个开始) – Shikiryu 2012-07-25 12:46:20

将数组转换为字符串时的数组将简单地输出为字符串"Array"。如果你想输出阵列中的每个元素,遍历它们或使用类似join

echo join(', ', $likes); 

array_push工作就好了。

+0

+1,但奇怪的? – 2012-07-25 12:47:14

+0

因为它对我来说更有意义,并且没有任何缺点。 – deceze 2012-07-25 12:48:14

+0

join(',',$ likes);完美地工作。感谢你及时的答复。 – DannyCruzeira 2012-07-25 12:48:14