За последние 24 часа нас посетили 66914 программистов и 1638 роботов. Сейчас ищут 968 программистов ...

Сравнение строк

Тема в разделе "PHP для новичков", создана пользователем MrFallen, 22 июл 2017.

  1. MrFallen

    MrFallen Новичок

    С нами с:
    5 апр 2017
    Сообщения:
    18
    Симпатии:
    0
    Добрый день, помогите пожалуйста, не могу понять как реализовать.

    Есть одна ссылка, которую нужно сравнить с 4 другими ссылками:
    PHP:
    1. $vk = "http://vk.com/123domain";
    Все эти 4 ссылки одного пользователя Вконтакте:
    PHP:
    1. $vkID = "http://vk.com/id123";
    2. $vkIDs = "https://vk.com/id123";
    3. $vkD = "http://vk.com/123domain";
    4. $vkDs = "http://vk.com/123domain";
    Если есть совпадение вывести, например 0. Если нет совпадения, вывести 1.
    Я пытался сделать как-то так:
    PHP:
    1. $vk = "http://vk.com/123domain";
    2.  
    3. $vkID = "http://vk.com/id123";
    4. $vkIDs = "https://vk.com/id123";
    5. $vkD = "http://vk.com/123domain";
    6. $vkDs = "http://vk.com/123domain";
    7.          
    8.             if (strcasecmp($vk, $vkID or $vkIDs or $vkD or $vkDs) == 0) {
    9.                 echo "Работает!";
    10.             }
    Но не работает, помогите пожалуйста :(
     
    #1 MrFallen, 22 июл 2017
    Последнее редактирование: 22 июл 2017
  2. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    PHP:
    1. $arrStr = [
    2. "http://vk.com/id123",
    3. "https://vk.com/id123",
    4. "http://vk.com/123domain",
    5. "http://vk.com/123domain"
    6. ];
    7. $str = 'http://vk.com/123domain';
    8. if(in_array($str,$arrStr,true)){
    9.     echo 'Есть совпадение';
    10. }
     
    Danil005, denis01 и MrFallen нравится это.
  3. MrFallen

    MrFallen Новичок

    С нами с:
    5 апр 2017
    Сообщения:
    18
    Симпатии:
    0
    Спасибо! <3
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Ни один язык программирования так не работает, по крайней мере из известных мне.
    к сведению. Когда ты одной переменной присваиваешь подряд несколько значений, она будет иметь то значение, которое присвоено последним, а остальные перезапишутся, потеряются. Переменная, грубо говоря, поименованная область памяти. И если ты содержимое этой области перезаписываешь, старое значение уходит.
     
    MrFallen нравится это.
  5. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Если брать отдельно переменные,то там вроде они все разные
     
  6. MrFallen

    MrFallen Новичок

    С нами с:
    5 апр 2017
    Сообщения:
    18
    Симпатии:
    0
    @alexblack, добрый день, а это опять я.
    2017-07-24_182017.jpg
    Подскажите пожалуйста, почему не работает сравнение? Ведь эта функция сравнивает строки без учета регистра. :(
     
  7. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    PHP:
    1. <?php
    2.     $str = 'статус';
    3.         if(mb_strtolower($str) == mb_strtolower('Статус'))
    4.             echo 'match';
     
    MrFallen нравится это.