summaryrefslogtreecommitdiff
path: root/ext/standard/php_string.h
diff options
context:
space:
mode:
authorAndrei Zmievski <andrei@php.net>2000-04-12 19:39:02 +0000
committerAndrei Zmievski <andrei@php.net>2000-04-12 19:39:02 +0000
commitc7100c4a1a39d6e1bd9227aa3cb78ec0e492c1fa (patch)
treec766ddd587326b928ca6a244b1e6e3c0704a54ed /ext/standard/php_string.h
parent5684953d590f53f9484360a5cdcbdb2c2cdfac96 (diff)
downloadphp-git-c7100c4a1a39d6e1bd9227aa3cb78ec0e492c1fa.tar.gz
Added natural comparison/sorting routines using code from Martin Pool.
@- Added natural comparison/sorting routines strnatcmp(), strnatcasecmp(), @ natsort(), and natcasesort(). These are useful for comparing and sorting @ strings that contain numbers. Based on the code from Martin Pool @ <mbp@humbug.org.au>. See http://www.linuxcare.com.au/projects/natsort/ @ for more info on natural sorting. (Andrei)
Diffstat (limited to 'ext/standard/php_string.h')
-rw-r--r--ext/standard/php_string.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/ext/standard/php_string.h b/ext/standard/php_string.h
index 467e85789e..81d703553d 100644
--- a/ext/standard/php_string.h
+++ b/ext/standard/php_string.h
@@ -82,6 +82,14 @@ PHP_FUNCTION(similar_text);
PHP_FUNCTION(strip_tags);
PHP_FUNCTION(str_repeat);
PHP_FUNCTION(substr_replace);
+PHP_FUNCTION(strnatcmp);
+PHP_FUNCTION(strnatcasecmp);
+
+#define strnatcmp(a, b) \
+ strnatcmp_ex(a, strlen(a), b, strlen(b), 0)
+#define strnatcasecmp(a, b) \
+ strnatcmp_ex(a, strlen(a), b, strlen(b), 1)
+PHPAPI int strnatcmp_ex(char const *a, size_t a_len, char const *b, size_t b_len, int fold_case);
PHPAPI char *php_strtoupper(char *s, size_t len);
PHPAPI char *php_strtolower(char *s, size_t len);