Могут ли многомерные массивы вызвать 403 запрещенных ошибки?

Допустим, у меня есть php-хэш с вопросами в качестве ключей для подэшей, которые имеют ответы в качестве ключей к их значениям правильности:

$questions = array(
//1
"What?" => array(
"Answer A" => "false",
"Answer B" => "false",
"Answer C" => "true",
"Answer D" => "false",
"expl" => "**C is the correct answer."//also holds the explanations of these questions
),
"When?" => array(
"Answer A" => "false",
"Answer B" => "false",
"Answer C" => "false",
"Answer D" => "true",
"expl" => "**D is the correct answer, because..."),

...
...
...

//12
"How?" => array(
"Answer A" => "true",
"Answer B" => "false",
"Answer C" => "false",
"Answer D" => "false",
"expl" => "**A is the correct answer.")
);

Я хочу вывести только подпоследовательность этих вопросов, основываясь на том, что предыдущая информация пользователя использовала эту функцию:

function checkpoint($type){
global $questions;

//defined the subsequences for each type
$sub1 = array(1, 3, 4, 9, 5, 6, 10, 8, 11, 12);
$sub2 = array(1, 3, 4, 9, 5, 6, 10, 8, 11, 12);
$sub3 = array(1, 2, 3, 4, 12, 6, 10, 7, 8);

switch($type){
case 1: $questionpath = $sub1; break;
case 2: $questionpath = $sub2; break;
default: $questionpath = $sub3;
}

$q_strings = array_keys($questions);
$letters = range('A', 'Z');

//output
for($i = 0; $i < count($questionpath); $i++){

$qnum = $questionpath[$i] - 1; //the index of the question
$question = array_keys($questions)[$qnum];
$answers = array_keys($questions[$question]);echo '<table><tr><td>'.($i+1).'</td>
<td>'.$question.'</td>
</tr></table>';

for($j = 0; $j < count($answers); $j++){
if($answers[$j] != "expl")
echo '<input type="radio" name="q'.($i+1).'" id="q'.($i+1).'a'.($j+1).'" onchange="showAnswer($(\'#correct'.($i+1).'\'),'.$questions[$question][$answers[$j]].');"><label for="q'.($i+1).'a'.($j+1).'">'.range('A', 'Z')[$j].'. '.$answers[$j].'</label></br />';
}

echo '<span id="correct'.($i+1).'" class="correct"><i>'.$questions[$question]['expl'].'</i></span>
<span class="correct"><i>'.$questions[$question]['expl'].'</i></span>
</div>
<br />';
}

}

Наличие этой функции в файле «.inc» сработало на моем локальном сервере, но наличие ее на работающем сервере вызывает 403 ошибки.

Однако изменив код, чтобы не было многомерного доступа, вот так:

$q_arr = $questions[$question];

и изменение доступа как:

$questions[$question][$answers[$j]]

что-то вроде:

 $q_arr[$ans]

исправил эти 403 ошибки. Итак, возможно ли, что серверы могут выдавать 403 ошибки, просто имея код, который обращается к многомерным массивам?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]