Ругается на array_intersect - $r_value Argument #2 is not an array in, где может быть косяк? Код (Text): function get_question(){ global $db; $q = $_POST['submit_q']; $query = "SELECT * FROM therapy WHERE text='$q[0]'"; $res = mysql_query($query) or die(mysql_error()); if(!$res) return false; while($row = mysql_fetch_assoc($res)){ $keys = array_keys($row, "1"); //берем пару правильных $keys_w = array_keys($row, "0"); //...неправильных } $r = rand(1, 5); //число правильных ответов $r_value = array_random_assoc($keys, $r); //Рандомим пару правильных $w_value = array_random_assoc($keys_w, 12-$r); //...неправильных $result = array_merge($r_value, $w_value); //соединяем массивы shuffle($result); //перемешиваем return array($r_value, $w_value,$result); function array_random_assoc($arr, $num = 1) { $keys = array_keys($arr); shuffle($keys); $r = array(); for ($i = 0; $i < $num; $i++) { $r[$keys[$i]] = $arr[$keys[$i]]; } return $r; } } $get_que = get_question(); Код (Text): $list_answer = array_diff($arr, array('', NULL, false)); $r_value=array(); $r_value = $get_que[0]; $w_value = $get_que[1]; if(isset($list_answer)){get_answer($r_value, $w_value);} function get_answer($r_value, $w_value){ global $list_answer; $result_r = array_intersect($list_answer, $r_value); $r = count($r_value); //считаем сколько правильных выбрали $r_w = count($result_r); //сравниваем с эталоном $percent_r = ($r_w/$r)*100; //считаем % }