PHP - strnatcasecmp() 函数



PHP 的 strnatcasecmp() 函数用于使用自然排序算法比较两个字符串。“自然排序算法”指的是一种类似于人类自然排序包含数字的字符串的比较方法。

以下是关于返回值的关键点列表

  • 如果两个字符串相等,则返回0
  • 如果第一个字符串大于第二个字符串,则返回1
  • 如果第一个字符串小于第二个字符串,则返回-1

语法

以下是 PHP strnatcasecmp() 函数的语法:

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

参数

此函数接受两个参数,列在下面:

  • str1: 要比较的第一个字符串。
  • str2: 与第一个字符串进行比较的第二个字符串。

返回值

此函数返回一个整数 (即 -1、0、1),基于比较结果。

示例 1

如果两个字符串“相等”,PHP strnatcasecmp() 函数将返回0

<?php
   $str1 = "Tutorialspoint";
   $str2 = "tutorialspoint";
   echo "The given strings are: $str1, and $str2";
   echo "\nAre both the strings equal? ";
   echo strnatcasecmp($str1, $str2);
?>

输出

上述程序产生以下输出:

The given strings are: Tutorialspoint, and tutorialspoint
Are both the strings equal? 0

示例 2

如果第一个字符串大于第二个字符串,PHP strnatcasecmp() 函数将返回1

<?php
   $str1 = "World";
   $str2 = "Hello";
   echo "The given strings are: $str1, and $str2";
   $result = strnatcasecmp($str1, $str2);
   echo "\nThe function returns: $result";
   if($result == 0){
	   echo "\nStrings are equal";
   }
   else if($result == 1){
	   echo "\nFirst string is greater than second one";
   }
   else{
	   echo "\nFirst string is less than the second one";
   }
?>

输出

执行上述程序后,将显示以下输出:

The given strings are: World, and Hello
The function returns: 1
First string is greater than second one

示例 3

如果第一个字符串小于第二个字符串,PHP strnatcasecmp() 函数将返回-1

<?php
   $str1 = "Java";
   $str2 = "PHP";
   echo "The given strings are: $str1, and $str2";
   $result = strnatcasecmp($str1, $str2);
   echo "\nThe function returns: $result";
   if($result == 0){
	   echo "\nStrings are equal";
   }
   else if($result == 1){
	   echo "\nFirst string is greater than second one";
   }
   else{
	   echo "\nFirst string is less than the second one";
   }
?>

输出

以下是上述程序的输出:

The given strings are: Java, and PHP
The function returns: -1
First string is less than the second one
php_function_reference.htm
广告