Пара заметок:
Ваши массивы и ваши условные операторы не совпадают.
$ar['error']
заполнено 7 значениями.
Только один из 7 является «истинным» -> 1, остальные - нули.
Вам нужно утверждение foreach
foreach($array['error'] as $errorTest){
switch($errorTest) {
case 1: $this->doDie($this->errors['upl-ini-max']); exit; break;
и т.д.
Ваш код показывает, что вы тестируете $ar['error']['value']
.
Эта переменная, по-видимому, не существует, поэтому тест переключателя не пройден.
Поскольку вы вставили значение ошибки в массив - по непонятной причине - вам нужно будет each
пройти через все элементы массива.
К вашему сведению, поскольку вы заполняете $ ar ['error'] [3] = 1`, мой исправленный оператор switch выше всегда будет разрываться в случае 1 (ошибки ['upl-ini-max']).
Но я думаю, что вы ДЕЙСТВИТЕЛЬНО хотите, чтобы он сломался в случае 3.
Подумайте, нужна ли здесь ошибка array . Более простым решением было бы поместить код ошибки в одну переменную
$errorCode=3
и включите эту переменную.
$errorCode=3;
switch($errorCode){
case 1: dosomething(1); break;
Тестируя переменную вместо массива, так как вы не each
просматриваете массив, вам не понадобится конструкция exit; break
в вашем примере кода. Вы можете просто break;
.