我确信这很简单,但是新的并且不知道我在做什么我不能完全靠自己做到。
我正在尝试创建一个wordpress帖子ID数组,该数组源自一个简单的foreach循环。
基本上我将此作为我的代码:
$omit_these_quizzes = array();
foreach ( $filtered_pass as $single_quiz ) {
$quiz_id_number = $single_quiz['quiz'];
$omit_these_quizzes[] = $quiz_id_number;
}
我想获取每个产生的$ quiz_id_number,然后最终得到如下所示的数组:
$omit_these_quizzes = array(8195,8193);
但是,我最后得到的数组只包含最后一个foreach循环中的变量,而不是全部。我究竟做错了什么?
谢谢!
答案 0 :(得分:1)
这项工作?
$omit_these_quizzes = array();
foreach ( $filtered_pass as $single_quiz ) {
$quiz_id_number = $single_quiz['quiz'];
array_push($omit_these_quizzes, $quiz_id_number);
}
答案 1 :(得分:1)
看起来你正在每个循环中创建一个新数组,这就是你最终得到一个只包含一个元素的数组的原因...... 使用:
$omit_these_quizzes = array();
foreach ( $filtered_pass as $single_quiz )
{
$quiz_id_number = $single_quiz['quiz'];
array_push($omit_these-quizzes, $quiz_id_number);
}
答案 2 :(得分:1)
你的代码看起来很好。但是如果你想要替代,试试这个:
点击此处查看in_array和array_push。
$omit_these_quizzes = array();
foreach ( $filtered_pass as $single_quiz )
{
$quiz_id_number = $single_quiz['quiz'];
if(!in_array($quiz_id_number ,$omit_these_quizzes))
{
array_push($omit_these_quizzes, $quiz_id_number);
}
}
希望它对你有所帮助。
答案 3 :(得分:0)
您的代码是正确的。通过调用var_dump($ filtered_pass)检查$ filtered_pass变量;可能只包含一个子阵列。