Добрый день. Проблема(может быть и детская))), но никак не могу понять ПОЧЕМУ ?? Суть состоит в том что в $_GET прилетает значения в контроллер, я его присваиваю переменной. Дальше в зависимости от того какая переменная (там полюбому будет число), отрабатывает код. Т.е. через if я проверяю какое именно число и если это то самое что надо, отрабатывает код. Но есть большое НО мой код не работает. Вот он PHP: $r = $_GET['Category']['name']; if ($r = 186){ return Yii::$app->response->redirect(['/nedvigcategory/view', 'id' => 1]); }elseif($r = 187){ return Yii::$app->response->redirect(['/nedvigcategory/view', 'id' => 2]); }elseif($r = 188){ return Yii::$app->response->redirect(['/nedvigcategory/view', 'id' => 3]); }elseif($r=189){ return Yii::$app->response->redirect(['/nedvigcategory/view', 'id' => 4]); }elseif($r=190){ return Yii::$app->response->redirect(['/nedvigcategory/view', 'id' => 5]); }elseif($r=191){ return Yii::$app->response->redirect(['/nedvigcategory/view', 'id' => 6]); }elseif($r=192){ return Yii::$app->response->redirect(['/nedvigcategory/view', 'id' => 7]); }elseif($r=180){ return Yii::$app->response->redirect(['/avtocategory/view', 'id' => 1]); }elseif($r=181){ return Yii::$app->response->redirect(['/avtocategory/view', 'id' => 2]); }elseif($r=182){ return Yii::$app->response->redirect(['/avtocategory/view', 'id' => 3]); }elseif($r=183){ return Yii::$app->response->redirect(['/avtocategory/view', 'id' => 4]); }elseif($r=184){ return Yii::$app->response->redirect(['/avtocategory/view', 'id' => 5]); }elseif($r=185){ return Yii::$app->response->redirect(['/avtocategory/view', 'id' => 6]); } Все время отрабатывает код после первого if, вне зависимости $r=186 или например $r=192, все равно отработает самый первый return. Если написать if ($r == 186) или if ($r = '186') или так if ($r === 186) То этот if вообще пропускается и отрабатывает следующий вне зависимости от значения переменной $r (( Не могу понять почему так происходит, все перепробовал. Помогите понять , что не так в коде. Пишу в yii2 если что.
1. Вот куда в Yii лезть, коль элементарных вещей в php не знаете? PHP: IF($a == 1) Сравнение - это ДВА == 2. Остальное тоже гамно, нет чтоб массив завести с редиректам, какой $r => куда, и в цикле проходить... нет будут городить 100500 if/else
Это IF($a == 1) не работает, я писал выше. При чем если написать if($r==186), то этот if вообще пропускается , его как бы не видит php, отрабатывает сразу следующий if где стоит одно =. Вот такая вот загадка. Массив можно написать, но смысл ? Мне нужен работающий а не красивый код, вот так я пишу.
PHP: $_GET = [ '_csrf' => '_vlVCCEtdftZvBA94Ma5Y6AiNaISXa1jVP8dWVSqyb-8njAxc0Enrz7_SEzU8c8Jk21n70FpnVM3lG01Mpn9hw==', 'Category' => [ 'name' => [ '188', ], ], 'search' => 'поиск', ];. Вот такой GET прилетает в контроллер. Соответственно я присваиваю $r значение GET (в данном случае 188) и потом с помощью if пытаюсь проверить КАКАЯ цифра прилитела, и тут приходит БОЛЬШОЙ облом.
Как правило, в "некрасивом" коде трудно найти ошибку из-за его запутанности, как правило он неоптимален по скорости и удобству поддержки