From 09699945bfc02361f906b97a4c4b94aae86df228 Mon Sep 17 00:00:00 2001 From: Luffy Date: Wed, 18 Dec 2024 08:56:30 +0800 Subject: [PATCH] Clarify return value of strcmp() and friends (#953) --- language-snippets.ent | 14 +++++++++++--- reference/strings/functions/strcasecmp.xml | 10 +++------- reference/strings/functions/strcmp.xml | 10 +++------- reference/strings/functions/strnatcasecmp.xml | 11 +++-------- reference/strings/functions/strnatcmp.xml | 12 +++--------- reference/strings/functions/strncasecmp.xml | 10 +++------- reference/strings/functions/strncmp.xml | 8 ++------ reference/strings/functions/substr-compare.xml | 11 ++++------- reference/var/functions/empty.xml | 14 +++++++------- 9 files changed, 39 insertions(+), 61 deletions(-) diff --git a/language-snippets.ent b/language-snippets.ent index 2429fbb47..92076a0ea 100644 --- a/language-snippets.ent +++ b/language-snippets.ent @@ -1,6 +1,6 @@ - + @@ -854,7 +854,8 @@ linkend="language.types.boolean">布尔类型章节以获取更多信息 8.2.0 - 现在此函数返回 -1 或者 1,之前返回负数或正数。 + 当字符串长度不相等时,此函数不再保证返回 strlen($string1) - strlen($string2), + 而可能返回 -11 '> @@ -4385,7 +4386,14 @@ local: { '> - + + 如果 string1 小于 string2,则返回小于 0 的值; + 如果 string1 大于 string2,则返回大于 0 的值; + 如果它们相等,则返回 0。 + 除了它的符号外,不能从返回值中可靠推断出任何特定的含义。 + +'> - - + + strcasecmp @@ -46,11 +46,7 @@ &reftitle.returnvalues; - - 如果 string1 小于 string2 返回 - -1;如果 string1 大于 string2 - 返回 1;如果两者相等,返回 0。 - + &strings.comparison.return; diff --git a/reference/strings/functions/strcmp.xml b/reference/strings/functions/strcmp.xml index 501adb97b..ab8d28321 100644 --- a/reference/strings/functions/strcmp.xml +++ b/reference/strings/functions/strcmp.xml @@ -1,7 +1,7 @@ - - + + strcmp @@ -46,11 +46,7 @@ &reftitle.returnvalues; - - 如果 string1 小于 string2 返回 - -1;如果 string1 大于 string2 - 返回 1;如果两者相等,返回 0。 - + &strings.comparison.return; diff --git a/reference/strings/functions/strnatcasecmp.xml b/reference/strings/functions/strnatcasecmp.xml index 4ad338310..37178629b 100644 --- a/reference/strings/functions/strnatcasecmp.xml +++ b/reference/strings/functions/strnatcasecmp.xml @@ -1,7 +1,7 @@ - - + + strnatcasecmp @@ -47,12 +47,7 @@ &reftitle.returnvalues; - - 与其他字符串比较函数类似,如果 string1 小于 - string2 返回 -1; - 如果 string1 大于 string2 - 返回 1;如果两者相等,返回 0。 - + &strings.comparison.return; diff --git a/reference/strings/functions/strnatcmp.xml b/reference/strings/functions/strnatcmp.xml index e53126099..8aac0ae68 100644 --- a/reference/strings/functions/strnatcmp.xml +++ b/reference/strings/functions/strnatcmp.xml @@ -1,7 +1,7 @@ - - + + strnatcmp @@ -46,13 +46,7 @@ &reftitle.returnvalues; - - 与其他字符串比较函数类似,如果 string1 小于 - string2 返回 -1; - 如果 string1 - 大于 string2 - 返回 1;如果两者相等,返回 0。 - + &strings.comparison.return; diff --git a/reference/strings/functions/strncasecmp.xml b/reference/strings/functions/strncasecmp.xml index 14c552eb3..966b3a534 100644 --- a/reference/strings/functions/strncasecmp.xml +++ b/reference/strings/functions/strncasecmp.xml @@ -1,7 +1,7 @@ - - + + strncasecmp @@ -55,11 +55,7 @@ &reftitle.returnvalues; - - 如果 string1 小于 string2 返回 - -1;如果 string1 大于 - string2,返回 1;如果两者相等,返回 0。 - + &strings.comparison.return; diff --git a/reference/strings/functions/strncmp.xml b/reference/strings/functions/strncmp.xml index 37299ae19..ee21d7063 100644 --- a/reference/strings/functions/strncmp.xml +++ b/reference/strings/functions/strncmp.xml @@ -1,6 +1,6 @@ - + @@ -58,11 +58,7 @@ &reftitle.returnvalues; - - 如果 string1 小于 string2 返回 - -1;如果 string1 大于 string2 - 返回 1;如果两者相等,返回 0。 - + &strings.comparison.return; diff --git a/reference/strings/functions/substr-compare.xml b/reference/strings/functions/substr-compare.xml index 7a6a38403..1962d676b 100644 --- a/reference/strings/functions/substr-compare.xml +++ b/reference/strings/functions/substr-compare.xml @@ -1,7 +1,7 @@ - - + + substr_compare @@ -79,12 +79,9 @@ &reftitle.returnvalues; + &strings.comparison.return; - 如果 haystack 从偏移位置 - offset 起的子字符串小于 - needle,则返回 -1;如果大于 - needle,则返回 1;如果二者相等,则返回 0。如果 - offset 等于(在 PHP 7.2.18, 7.3.5 之前)或大于 + 如果 offset 等于(在 PHP 7.2.18, 7.3.5 之前)或大于 haystack 的长度,或设置 length 小于或等于 0,substr_compare 将打印出警告信息并且返回 &false;。 diff --git a/reference/var/functions/empty.xml b/reference/var/functions/empty.xml index bcf433302..e585ce50b 100644 --- a/reference/var/functions/empty.xml +++ b/reference/var/functions/empty.xml @@ -1,7 +1,7 @@ - - + + empty @@ -14,8 +14,8 @@ mixedvar - 判断变量是否为是空。当变量不存在或者它的值等于 - &false;,那么视为空。如果变量不存在,empty 不会产生警告。 + 判断变量是否为空。如果变量不存在或其值等于 &false;,则认为变量为空。 + empty 不会在变量不存在时产生警告。 @@ -29,8 +29,8 @@ 待检查的变量 - 没有警告会产生,哪怕变量并不存在。这意味着 empty 本质上与 - !isset($var) || $var == false 等价。 + 不会在变量不存在时产生警告。 + 这意味着 empty 本质上等同于 !isset($var) || $var == false @@ -40,7 +40,7 @@ &reftitle.returnvalues; - 当 var 不存在、值为空、等于 0、为 false 时,返回 &true;。参阅 var 不存在、值为空、等于 0、为 false 时,返回 &true;,参阅 转换为 boolean。否则返回 &false;。