関数 strnatcmp
関数 strnatcmp は、自然な文字順序を考慮して2つの文字列を比較します。
通常の比較とは異なり、この関数は文字列内の数字を認識し、数値として比較します。
この関数は、文字列が同一の場合 0 を、最初の文字列が2番目の文字列より小さい場合 -1 を、
最初の文字列が2番目の文字列より大きい場合 1 より大きな数値を返します。
構文
strnatcmp(string $str1, string $str2): int
例
通常の方法とstrnatcmpを使用した、数字を含む文字列の比較:
<?php
$res1 = strcmp("file2.txt", "file10.txt");
$res2 = strnatcmp("file2.txt", "file10.txt");
echo "strcmp result: " . $res1 . "\n";
echo "strnatcmp result: " . $res2;
?>
コード実行結果:
strcmp result: 1
strnatcmp result: -1
例
異なる数字を含む文字列の比較:
<?php
$res = strnatcmp("image5.jpg", "image15.jpg");
echo $res;
?>
コード実行結果:
-1
例
同一文字列の比較:
<?php
$res = strnatcmp("hello123", "hello123");
echo $res;
?>
コード実行結果:
0
関連項目
-
関数
strcmp,
バイナリセーフな文字列比較を行います -
関数
strcasecmp,
大文字小文字を区別せずに文字列を比較します -
関数
natcasesort,
大文字小文字を区別しない自然順で配列をソートします