Intereting Posts
PHP Альтернативные структуры управления, любые недостатки? Примечание. Массив для преобразования строк в C: \ xampp \ htdocs \ example \ echo.php в строке 8 Array Не удается найти индекс FULLTEXT, соответствующий списку столбцов (установлены индексы) Выбранный снижается динамически с помощью javascript при перезагрузке страницы и изменит другой выпадающий список и так далее jQuery preventDefault () не работает внутри вызова AJAX добавление и удаление классов css на href Как обрабатывать stdin для stdout в php? эхо-нарушение кириллического символа Как выполнить файл Octave с помощью php Веб-сайт подходит для экрана для планшетов, видовое окно не работает? Как определить, какие файлы PHP фактически используются, а какие нет? Сравнить 2 изображений в php Получить баланс счета Paypal Как изменить представление по умолчанию для контроллера в Yii2? Ошибка анализа: синтаксическая ошибка, неожиданная '

сопоставить две строки и сравнить каждую букву в php

Я googled этот вопрос, я не могу найти точное решение …

У меня есть две переменные …

$s1 = "ABC"; //or "BC" $s2 = "BC"; //or "Bangalore" 

Мне нужно сравнить $s1 и $s2 и дать результат как letters which is not present in $s2 eg : "A" // or"C"

Например, мне нужно сравнить $s2 и $s1 и дать результат как letters which is not present in $s1 eg : null // or"angalore"

То, что я пробовал .. Я плюю строки на массив … Используя вложенный цикл, чтобы найти несогласованные буквы … Я написал код более 35 строк. Но никакого результата 🙁 Пожалуйста, помогите мне ……

Related of "сопоставить две строки и сравнить каждую букву в php"

 echo str_ireplace(str_split($s2), "", $s1); // output: A 

Здесь вы можете использовать array_diff() :

 function str_compare($str1, $str2) { $str1chars = str_split($str1); $str2chars = str_split($str2); $diff = array_diff($str1chars, $str2chars) return implode($diff); } 

Вызывая функцию следующим образом:

 $diffchars = str_compare('ABC', 'BC'); 

Вы получите строку, содержащую символы, которые не отображаются в обеих строках. В этом примере это будет A , потому что этот символ появляется в $str1 , но не в $str2 .

Вы можете использовать str_split и array_diff как:

 <?php $s1 = 'abcedf'; $s2 = 'xzcedf5460gf'; print_r(array_diff(str_split($s1), str_split($s2))); 

Используйте array_diff() :

 function str_diff($str1, $str2) { $arr1 = str_split($str1); $arr2 = str_split($str2); $diff = array_diff($arr1, $arr2); return implode($diff); } 

Применение:

 echo str_diff('BC', 'Bangalore'); // => C echo str_diff('ABC', 'BC'); // => A 

Хорошо сделать это

 $str1s = "abc"; $str2s = "BCd"; function findNot($str1, $str2, $asArray = false){ $returnValue = array_diff(array_unique(str_split(strtolower($str1))), array_unique(str_split(strtolower($str2)))); if($asArray == false){ return implode($returnValue); }else{ return $returnValue; } } echo findNot($str1s, $str2s); //gives a string echo findNot($str1s, $str2s, true); //gives array of characters 

Это позволяет вам возвращать как массив, так и строку.