Чат Telegram
Группа ВКонтакте
Новый комментарий

Bogdan 29.01.2020 в 14:33
 private function compare(string $string, string $compareWith): bool
 {
     $reg = '/^[a-z]+$|^[а-я]+$/m';

     if (!\preg_match($reg, $string)
         || !\preg_match($reg, $compareWith)
         || (\mb_strlen($string) !== \mb_strlen($compareWith))
     ) {
         return false;
     }

     $splitCompare = \str_split($compareWith);
     foreach (\str_split($string) as $char) {
         $key = \array_search($char, $splitCompare);
         if (empty($key)) {
             return false;
         }
         unset($splitCompare[$key]);
     }

     return true;
 }
Bogdan 31.01.2020 в 14:45

через сафари нельзя обновить комментарий)

alegkonin 29.01.2020 в 14:50
Function str(string $a,string $b){
    If (mb_strlen($a)!= mb_strlen($b)){return false;}
    $count = 0;
    $strlen = mb_strlen($a);
    $b = str_split($b);

    for($i=0;$i<$strlen;$i++){
        foreach ($b as $key => $val){
            If($a[$i] === $val){
            $count++;
            }
        }
    }
   If ($count === $strlen){ return true;
   }
   Return false;
}
pebogdan1@ukr.net 31.01.2020 в 14:12

дополнительный комментарий к Bogdan: будет баг ( вернет true ) если строка arrr будет сравниваться с rraa|rrra|raaa...

Petrovich 02.02.2020 в 03:45
<?php

$word1 = 'привет';
$word2 = 'првите';

function isitananagram($word1, $word2)
{
    $letter1 = str_split($word1);//переменная $word1 становится массивом
    $letter2 = str_split($word2);//переменная $word2 становится массивом
    natsort($letter1);//сортируем буквы по алфавиту
    natsort($letter2);//сортируем буквы по алфавиту
    $letter1 = array_values($letter1);//перезаписываем ключи массива $letter1
    $letter2 = array_values($letter2);//перезаписываем ключи массива $letter2

    if($letter1 === $letter2) // сравниваем массивы
    {
        return true;
    }
    return false;
}
echo isitananagram($word1,$word2);
Bogdan 05.02.2020 в 18:42

интересное решение )), если еще упростить то можно было сделать

function isitananagram($word1, $word2)
{
    $letter1 = str_split($word1);//переменная $word1 становится массивом
    $letter2 = str_split($word2);//переменная $word2 становится массивом
    natsort($letter1);//сортируем буквы по алфавиту
    natsort($letter2);//сортируем буквы по алфавиту
    $letter1 = array_values($letter1);//перезаписываем ключи массива $letter1
    $letter2 = array_values($letter2);//перезаписываем ключи массива $letter2

    return $letter1 === $letter2
}
function isitananagram($word1, $word2)
{
    $letter1 = str_split($word1);//переменная $word1 становится массивом
    $letter2 = str_split($word2);//переменная $word2 становится массивом
    natsort($letter1);//сортируем буквы по алфавиту
    natsort($letter2);//сортируем буквы по алфавиту

    return empty(array_diff($letter1, $letter2))
}
function isitananagram($word1, $word2)
{
    return empty(array_diff(natsort(str_split($word1)), natsort(str_split($word2))))
}
Petrovich 05.02.2020 в 18:50

да, как вариант)

Логические задачи с собеседований