За последние 24 часа нас посетили 55440 программистов и 1795 роботов. Сейчас ищут 792 программиста ...

Есть два масива такого типа

Тема в разделе "PHP для новичков", создана пользователем Dron-Boy, 9 дек 2016.

  1. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    Есть два масива такого типа
    PHP:
    1. $mas1 = array(
    2.   array("р","е","м","о","н","т"),
    3.   array("к","в","а","р","т","и","р")
    4.   );
    5. $mas2 = array(
    6.     array("р","е","м","о","н","т"),
    7.     array("е","к","а","т","е","р","е","н","б","у","р","г"),
    8.     array("к","в","а","р","т","и","р")
    9.   );
    мне нужнго сравнить каждую букву этого масива.
    тобишь
    PHP:
    1. $mas1[0][0][р] == $mas2[0][0][р];
    [р] - это буква
    и таким образом каждую. Как сделать?
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    екатеринбург пишется через И
     
  3. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    У тебя массивы двумерные а не трехмерные :)
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    после сравнения что должно вывести? мало информации
     
  5. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    для понятия я и написал сноску что [р] это просто буква. это не элемент масива
    --- Добавлено ---
    идея была следующей сравнить первое слово ремонт спервого масива со вторым словом ремонт из второго масива сравнить по буквам если большая часть букв совпадает то вывести true. и так каждое слово. А в идеале было бы хорошо каждое слово с первого масива сравнить со всеми словами второго масива по тому же принципу.
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    PHP:
    1. $arr_1 = [
    2.     [ 'р', 'е', 'м', 'о', 'н', 'т' ],
    3.     [ 'к', 'в', 'а', 'р', 'т', 'и', 'р' ]
    4. ];
    5. $arr_2 = [
    6.     [ 'р', 'е', 'м', 'о', 'н', 'т' ],
    7.     [ 'е', 'к', 'а', 'т', 'е', 'р', 'е', 'н', 'б', 'у', 'р', 'г' ],
    8.     [ 'к', 'в', 'а', 'р', 'т', 'и', 'р' ]
    9. ];
    10.  
    11. function imp_string( $ITEMS )
    12. {
    13.     return array_map ( function ( $B )
    14.     {
    15.         return implode ( '', $B );
    16.     },
    17.         $ITEMS );
    18. }
    19.  
    20. var_dump ( array_intersect ( imp_string( $arr_1 ), imp_string( $arr_2 ) ) );
    --- Добавлено ---
    implode ( '', $B );
    https://php.ru/manual/function.mb-substr.html
    --- Добавлено ---
    но доп извращение
    --- Добавлено ---
    да и кстати нафига было резать слова на буквы когда целое слово можно было сравнить и без функции imp_string