Сообщение от SolomonRei
|
Чтобы получить значение ответа.Потому что return не работает
|
return, это выход из функции, а json, это строка, а не массив, print_r для ее вывода совсем не нужна. Более того, если и требуется таким образом передать клиенту структуру массива, то нужно перехватывать вывод и только потом отдавать клиенту - echo print_r($array, true).
А json нужно отдавать как echo (для предотвращения неконтролируемого вывода до и после передачи json, лучше так exit(json)), то есть:
if($_POST['j'] == $_SESSION['g']) {
$array = [4, 8, 10, 12];
$array = json_encode($array);
echo $array;
}
else echo '0'; - это глупость, так как не является JSON, которое предписано принять клиенту. В этом случае result на клиенте будет пуста, так работает jQuery. То есть это
if(result == 0) alert('unexpected error');
else {
var res = Array.from(result);
if($.inArray(0, res)) alert(5);
}
лишено всякого смысла - если json валидный, то result и будет массивом [4, 8, 10, 12].