Sc0undRel
@Sc0undRel

Почему переменная не равняется тексту?

После выполнения скрипта у меня создаётся массив:

$array_main=$toptags;
foreach($array_main as $key){
                if($key=='Мультики про машинки') $array_id[] = 1;
                elseif($key=="Мультики про динозавров") $array_id[] = 2;
                else $array_id[] = 3;
            }
            print_r($array_main);
            print_r($array_id);
        }

Оба print_r выводят следующие данные:
Array ( [0] => мультики про лошадей [1] => мультики про пони [2] => Мультики про машинки [3] => Мультики про животных )
Array ( [0] => 3 [1] => 3 [2] => 3 [3] => 3 )


Почему во втором массиве все ячейки приняли значение 3??? Ведь "Про машинки" должно было дать значение 1.

Если переписать код вот так, то "Мультики про машинки" начинают распознаваться и во втором массиве появляется значение 1.
$array_main= array("Мультики про машинки", "мультики про лошадей");
foreach($array_main as $key){
                if($key=='Мультики про машинки') $array_id[] = 1;
                elseif($key=="Мультики про динозавров") $array_id[] = 2;
                else $array_id[] = 3;
            }
            print_r($array_main);
            print_r($array_id);
        }


Чо за хрень??
  • Вопрос задан
  • 131 просмотр
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
if(strtolower(trim($key)) == strtolower(trim('Мультики про машинки'))){
  //do some fun
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
BuriK666
@BuriK666
Компьютерный псих
"мультики про лошадей" и "Мультики про лошадей" разные строки. регистр разный.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы