Функция strnatcmp

Функция strnatcmp екі жолды табиғи таңбалар ретімен салыстырады. Кәдімгі салыстырудан айырмашылығы, бұл функция жол ішіндегі сандарды таниды және оларды сандық мән бойынша салыстырады. Функция 0 мәнін қайтарады, егер жолдар бірдей болса, -1 санын, егер бірінші жол екіншісінен кіші болса, және 1 санынан үлкен санды, егер бірінші жол екіншісінен үлкен болса.

Синтаксис

phpstrnatcmp(string $str1, string $str2): int

Мысал

Сандары бар жолдарды кәдімгі тәсілмен және strnatcmp көмегімен салыстыру:

php<?php
  $res1 = strcmp("file2.txt", "file10.txt");
  $res2 = strnatcmp("file2.txt", "file10.txt");
  
  echo "strcmp result: " . $res1 . "\n";
  echo "strnatcmp result: " . $res2;
?>

Код орындалу нәтижесі:

phpstrcmp result: 1
strnatcmp result: -1

Мысал

Әр түрлі сандары бар жолдарды салыстыру:

php<?php
  $res = strnatcmp("image5.jpg", "image15.jpg");
  echo $res;
?>

Код орындалу нәтижесі:

php-1

Мысал

Бірдей жолдарды салыстыру:

php<?php
  $res = strnatcmp("hello123", "hello123");
  echo $res;
?>

Код орындалу нәтижесі:

php0

Сондай-ақ қараңыз

  • функциясы strcmp,
    ол жолдарды қауіпсіз екілік салыстыруды орындайды
  • функциясы strcasecmp,
    ол жолдарды регистрді есепке алмай салыстырады
  • функциясы natcasesort,
    ол массивті регистрді есепке алмай табиғи ретпен сұрыптайды