PHP уроки
ПРОСТО самая лучшая обучалка PHP!
  • Студия LPHPRU
  • Уроки PHP
  • Контакты
  • Помощь
Меню
  • PHP - с чего начать?
  • Уроки PHP
  • Функции PHP
  • Массивы
  • Denwer
  • MySQL
  • Информация
  • Dreamweaver уроки
  • JQuery уроки
  • Галерея
  • OpenCart
Календарь
Февраль (2023)
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728     
В продаже

  • Что нового?

    • Тест №2
    • Тест №1 для разработчиков
    • PHP 5.6 RC1
    • SQL. Как cкопировать данные одной колонки в другую, в той же таблице
    • GRUB изменить порядок загрузки OS в Linux
    • SSH - вход на сервер без ввода пароля
    • PhpMyAdmin - проблема с загрузкой большого файла на сервер
  • Комментарии

    • Hello
    • тут нечего не понятно
    • Может уже пора на WebStorm переходит...
    • Здравствуйте. 10 лет пользуюсь др...
    • Была такая проблема, решалась пе...
  • TOP-5

    • Метод POST (2945467 )
    • Привет, МИР! (910788 )
    • Метод GET (667156 )
    • Операторы (605670 )
    • Firefox уже запущен, но не отвечает... (352939 )

Сравнение двух PHP скриптов, или сравнение строк.

Главная» Array » Сравнение двух PHP скриптов, или сравнение строк.
PHP урок № 237
Функция strcmp() - сравнение строк.
Синтаксис функции strcmp():
int strcmp(string str1, string str2)
Эта функция сравнивает две строки - str1 и str2 и возвращает:
Лексикографический порядок последовательностей предполагает, что последовательность a\!\, предшествует последовательности b\!\,, если для некоторого s\!\, их начальные отрезки длины s\!\, равны, а (s+1)\!\,-ый член последовательности a\!\, меньше.

Примеры лексикографического порядка:

* последовательность чисел в любой системе счисления, записанных в фиксированной разрядной сетке (000, 001, 002, 003, 004, 005, …, 999)
* порядок слов в словаре. Предполагается, что буквы можно сравнивать, сравнивая их номера в алфавите. Тогда лексикографический порядок — это к примеру ААА, ААБ, ААВ, ААГ, …, ЯЯЯ.

Википедия.
Листинг № Array - Пример сравнения строк учитывая регистр букв, с помощью функции strcmp().
<?php 

// Пример 1

$str1 = "www";
$str2 = "wwwwwww";

echo 
strcmp($str1, $str2); // выведет на монитор число -4

// Пример 2

$str1 = "wwwwwww";
$str2 = "www";

echo 
strcmp($str1, $str2); // выведет на монитор число 4


// Пример 3

$str1 = "www";
$str2 = "www";

echo 
strcmp($str1, $str2); // выведет на монитор число 0


// Пример 4 

$str1 = "Www";
$str2 = "www";

echo 
strcmp($str1, $str2); // выведет на монитор число -1




// Пример 5

$str1 = "AWww";
$str2 = "www";

echo 
strcmp($str1, $str2); // выведет на монитор число -1



// Пример 6

$str1 = "www";
$str2 = "aaa";

echo 
strcmp($str1, $str2); // выведет на монитор число 1

?>
На основе этой функции создадим программу для сравнения текста. Принцип работы (алгоритм, последовательность) следующий. Есть некая форма для ввода текста оригинала и есть вторая форма, для сравнения с оригиналом. Содержимое этих форм отправляем для сравнения в функцию strcmp().
Листинг № Array - Программа для сравнения строк, текста или каких либо символов на сходство или различие (идентичность).
<?php 

$str1 
= trim($_POST['form1']);     // форма один
$str2 = trim($_POST['form2']);     // форма два

// если переменная button содержит значение "Сравнить"...
if($_POST['button']=="Сравнить")
{
    
//Сравниваем значения двух переменных.
    // Если функция возвращает ноль - текст идентичен и срабатывает второй 
    // блок конструкции if, в противном случаи первый блок.
    // Первый блок срабатывает только в том случаи, если значение в
    // скобках  if(TRUE) - истинно, все значения кроме нуля истины(TRUE), 
    // а ноль есть FALSE. Функция возвращает ноль при полной идентичности строк. 
    
if(strcmp($str1, $str2))
    {
        echo 
"Текст не идентичен. " . strcmp($str1, $str2);
    }
    else
    {
        echo 
"Текст  идентичен. " . strcmp($str1, $str2);
    }

}

// Вывод на монитор форм для заполнения текстом
echo "<form name='form1' method='post' action=''>
        Форма1
        <br>
        <textarea name='form1'  cols='45' rows='5'>
$str1 </textarea>
        <br>
        <br>
        Форма2
        <br>
        <textarea name='form2'  cols='45' rows='5'>
$str2 </textarea>
        <br>
        <br>
        <input type='submit' name='button' id='button' value='Сравнить'>
     </form>"
;

?>
Листинг № Array - Использование функции strcasecmp().
<?php

$var1 
= "Hello";
$var2 = "hello";
echo 
strcasecmp($var1, $var2); // 0


$var1 = "4545";
$var2 = "4546";
echo 
strcasecmp($var1, $var2); // -1


$var1 = "Hello";
$var2 = "Good";
echo 
strcasecmp($var1, $var2); // 1

?>
Функция strcasecmp сравнивает две строки не учитывая регистр букв.
Урок закончен.
SETTER © LPHP.RU
Администрация сайта
Array
Обсудить на форуме.
  • lphp.ru © 2009-2023