@evelone1379

Почему сравнение всегда ложно?

Проверяю пользовательское значение через данные, сохраненные в массиве, но даже если совпадает оно не выполняется
Вот код
$groups = [
    "power-group" => ["pump", "abs-bums", "super-strong", "fitball", "fit-cross", "body-sculpt", "lab", "hell-scretch", "witch-ball", "body-pump", "abs"],
    "static-group" => ["mfr", "healthy-back", "pilates", "twine-school", "yoga", "open-day", "lfk-50", "yoga-in-gamake", "interval"],
    "aerobics-group" => ["joint-gymnastics", "press-stretch", "abs-stretch", "joint-gymnastics-stretch", "abl", "make-body", "mobility", "stretch"],
    "dance-group" => ["latina", "tabata", "aerobics", "fitness-dance", "latina-start", "latina-pro"]
];

$group = "null";
foreach($groups as $key => $value)
{
    for($i = 0; $i < count($groups[$key]); $i++)
    {
        echo $groups[$key][$i] . " = " . $trainings[1] . '<br />';
        if($groups[$key][$i] == $trainings[1])
        {
            $group = "sport";
            goto contin;
        }
    }
}

contin:
$record = $connection->query("SELECT * FROM `$calendar` WHERE `title` = '$week'");
$record = $record->fetch();


Вот результат цикла:
63f231d8b6e87093300502.png
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
@rPman
удостоверься что $trainings[1] действительно содержит побайтово "pump", причем очень часто символы могут совпадать визуально но не значением, например русская 'Р' и английская 'P'.

выведи обе сравниваемые строки с помощью bin2hex
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
А сделайте так:
$groups = [
    "power-group" => ["pump", "abs-bums", "super-strong", "fitball", "fit-cross", "body-sculpt", "lab", "hell-scretch", "witch-ball", "body-pump", "abs"],
    "static-group" => ["mfr", "healthy-back", "pilates", "twine-school", "yoga", "open-day", "lfk-50", "yoga-in-gamake", "interval"],
    "aerobics-group" => ["joint-gymnastics", "press-stretch", "abs-stretch", "joint-gymnastics-stretch", "abl", "make-body", "mobility", "stretch"],
    "dance-group" => ["latina", "tabata", "aerobics", "fitness-dance", "latina-start", "latina-pro"]
];

$group = NULL;
foreach($groups as $key => $value)
{
    for($i = 0; $i < count($value); $i++)
    {
        echo $value[$i] . " =? " . rawurlencode($trainings[1]) . '<br />';
        if($value[$i] == $trainings[1])
        {
            $group = "sport";
            break;
        }
    }
    if (!is_null($group))
    {
        break;
    }
}
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы