尝试通过foreach循环向数组添加值时遇到问题。 基本上我有这样的形式,其中有一堆主题,用户可以点击“喜欢”或“不喜欢”每个主题有两个单选按钮。然后我想在两个单独的数组中收集“喜欢”和“不喜欢”,并将它们插入到数据库中,但是我做的不正确。 以下是HTML代码中的示例:
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 :(得分:2)
当转换为字符串时,数组将仅作为字符串"Array"
输出。如果要输出数组中的每个元素,请循环使用它们或使用join
之类的内容:
echo join(', ', $likes);
array_push
工作得很好。