我有两个数组我需要与in_array进行比较,但由于某种原因它无法比较,只有我像这样手动替换in_array(294,$ answer)它才显示为true。
$answers ----> // Array ( [0] => 294 [1] => 296 )
$answer ---> // Array ( [id] => 294 [question_id] => 87 [correct] => 1 )
in_array($answers, $answer)
答案 0 :(得分:1)
您似乎有$answer = array('id' => 294, 'question_id' => 87, 'correct' => 1 );
标识的答案(id
)(值294
),您需要查明此答案是否为{{1}的有效答案之一s存储在列表中(id
)。
PHP函数in_array()
是使用的工具,只是以正确的方式使用它。将$answers = array(294, 296);
的ID搜索到$answer
中存储的ID列表:
$answers
详细了解PHP arrays并且在您到达"Accessing array elements with square bracket syntax"部分之前不要离开该阅读。
答案 1 :(得分:0)
in_array
用于搜索数组中的字符串,因此您应该尝试从answers数组而不是整个数组传递单个值。
例如 -
$answers = array(294, 296);
$answer = array('id' => 294, 'question_id' => 87, 'correct' => 1 );
foreach ( $answers as $answer_id ) {
$check = in_array($answer_id, $answer);
echo "<pre>";
var_dump( $check );
echo "</pre>";
}