From 0edb56ccbed395ac8da57fbc7b6e467ece295bf5 Mon Sep 17 00:00:00 2001 From: "singi.qin" Date: Tue, 14 Apr 2026 18:05:21 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=20array=5Fany,ar?= =?UTF-8?q?ray-find-key,array-find=20=E7=9A=84=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/array/functions/array-all.xml | 5 +- reference/array/functions/array-any.xml | 130 ++++++++++++++++++ reference/array/functions/array-find-key.xml | 137 +++++++++++++++++++ reference/array/functions/array-find.xml | 137 +++++++++++++++++++ 4 files changed, 407 insertions(+), 2 deletions(-) create mode 100644 reference/array/functions/array-any.xml create mode 100644 reference/array/functions/array-find-key.xml create mode 100644 reference/array/functions/array-find.xml diff --git a/reference/array/functions/array-all.xml b/reference/array/functions/array-all.xml index 128751423..80239cbfd 100644 --- a/reference/array/functions/array-all.xml +++ b/reference/array/functions/array-all.xml @@ -1,6 +1,7 @@ + array_all @@ -26,7 +27,7 @@ array - 需要被遍历的 &array; + 需要被遍历的 &array;。 @@ -57,7 +58,7 @@ &reftitle.examples; - <function>array_all</function> 示例 + <function>array_all</function> + + + + + array_any + 检查数组中是否至少有一个元素满足回调函数的条件 + + + + &reftitle.description; + + boolarray_any + arrayarray + callablecallback + + + 如果指定的 callback 对任意一个元素返回 &true;,则 array_any 函数返回 &true;;否则该函数返回 &false;。 + + + + + &reftitle.parameters; + + + array + + + 需要被遍历的 &array;。 + + + + + callback + + + 用于检查每个元素的回调函数,该函数必须 + + boolcallback + mixedvalue + mixedkey + + 如果该函数返回 &true;,则 array_any 会立即返回 &true;,并且不会再为后续元素调用该回调函数。 + + + + + + + + &reftitle.returnvalues; + + 如果数组中至少存在一个元素能让 callback 返回 &true;,则该函数返回 &true;;否则返回 &false;。 + + + + + &reftitle.examples; + + <function>array_any</function> + + 'dog', + 'b' => 'cat', + 'c' => 'cow', + 'd' => 'duck', + 'e' => 'goose', + 'f' => 'elephant' +]; + +// Check, if any animal name is longer than 5 letters. +var_dump(array_any($array, function (string $value) { + return strlen($value) > 5; +})); + +// Check, if any animal name is shorter than 3 letters. +var_dump(array_any($array, function (string $value) { + return strlen($value) < 3; +})); + +// Check, if any array key is not a string. +var_dump(array_any($array, function (string $value, $key) { + return !is_string($key); +})); +?> +]]> + + &example.outputs; + + + + + + + + &reftitle.seealso; + + array_all + array_filter + array_find + array_find_key + + + + diff --git a/reference/array/functions/array-find-key.xml b/reference/array/functions/array-find-key.xml new file mode 100644 index 000000000..942fa60a9 --- /dev/null +++ b/reference/array/functions/array-find-key.xml @@ -0,0 +1,137 @@ + + + + + + array_find_key + 返回满足回调函数条件的第一个元素的键 + + + + &reftitle.description; + + mixedarray_find_key + arrayarray + callablecallback + + + array_find_key 返回 &array; 中第一个使指定 callback 返回 &true; 的元素的键。如果未找到匹配元素,则该函数返回 &null;。 + + + + + &reftitle.parameters; + + + array + + + 需要被遍历的 &array;。 + + + + + callback + + + 用于检查每个元素的回调函数,该函数必须 + + boolcallback + mixedvalue + mixedkey + + 如果该函数返回 &true;,array_find_key 就会返回对应键名,并且不再对后续元素执行该回调函数。 + + + + + + + + &reftitle.returnvalues; + + 该函数会返回首个使 callback 返回 &true; 的元素的键。如果未找到匹配的元素,则函数返回 &null;。 + + + + + &reftitle.examples; + + <function>array_find_key</function> + + 'dog', + 'b' => 'cat', + 'c' => 'cow', + 'd' => 'duck', + 'e' => 'goose', + 'f' => 'elephant' +]; + +// Find the first animal with a name longer than 4 characters. +var_dump(array_find_key($array, function (string $value) { + return strlen($value) > 4; +})); + +// Find the first animal whose name begins with f. +var_dump(array_find_key($array, function (string $value) { + return str_starts_with($value, 'f'); +})); + +// Find the first animal where the array key is the first symbol of the animal. +var_dump(array_find_key($array, function (string $value, $key) { + return $value[0] === $key; +})); + +// Find the first animal where the array key matching a RegEx. +var_dump(array_find_key($array, function ($value, $key) { + return preg_match('/^([a-f])$/', $key); +})); +?> +]]> + + &example.outputs; + + + + + + + + &reftitle.seealso; + + array_find + array_all + array_any + array_filter + array_reduce + + + + diff --git a/reference/array/functions/array-find.xml b/reference/array/functions/array-find.xml new file mode 100644 index 000000000..c1e33cb52 --- /dev/null +++ b/reference/array/functions/array-find.xml @@ -0,0 +1,137 @@ + + + + + + array_find + 返回满足回调函数条件的第一个元素 + + + + &reftitle.description; + + mixedarray_find + arrayarray + callablecallback + + + array_find 返回 &array; 中第一个使指定 callback 返回 &true; 的元素的值。如果未找到匹配的元素,则该函数返回 &null;。 + + + + + &reftitle.parameters; + + + array + + + 需要被遍历的 &array;。 + + + + + callback + + + 用于检查每个元素的回调函数,该函数必须 + + boolcallback + mixedvalue + mixedkey + + 如果该回调函数返回 &true;,array_find 就会返回对应元素的值,并且不再对后续元素执行该回调。 + + + + + + + + &reftitle.returnvalues; + + 该函数返回第一个使 callback 返回 &true; 的元素的值。如果未找到匹配的元素,则函数返回 &null;。 + + + + + &reftitle.examples; + + <function>array_find</function> + + 'dog', + 'b' => 'cat', + 'c' => 'cow', + 'd' => 'duck', + 'e' => 'goose', + 'f' => 'elephant' +]; + +// Find the first animal with a name longer than 4 characters. +var_dump(array_find($array, function (string $value) { + return strlen($value) > 4; +})); + +// Find the first animal whose name begins with f. +var_dump(array_find($array, function (string $value) { + return str_starts_with($value, 'f'); +})); + +// Find the first animal where the array key is the first symbol of the animal. +var_dump(array_find($array, function (string $value, $key) { + return $value[0] === $key; +})); + +// Find the first animal where the array key matching a RegEx. +var_dump(array_find($array, function ($value, $key) { + return preg_match('/^([a-f])$/', $key); +})); +?> +]]> + + &example.outputs; + + + + + + + + &reftitle.seealso; + + array_find_key + array_all + array_any + array_filter + array_reduce + + + + From 6133dba5cd49530e67fa818d99abfd446c3ba584 Mon Sep 17 00:00:00 2001 From: "singi.qin" Date: Wed, 15 Apr 2026 09:15:57 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=20array=5Fany,ar?= =?UTF-8?q?ray-find-key,array-find=20=E7=9A=84=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/array/functions/array-all.xml | 3 +-- reference/array/functions/array-any.xml | 2 +- reference/array/functions/array-find-key.xml | 2 +- reference/array/functions/array-find.xml | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/reference/array/functions/array-all.xml b/reference/array/functions/array-all.xml index 80239cbfd..c972b9c8b 100644 --- a/reference/array/functions/array-all.xml +++ b/reference/array/functions/array-all.xml @@ -1,7 +1,6 @@ - array_all @@ -58,7 +57,7 @@ &reftitle.examples; - <function>array_all</function> + <function>array_all</function> 示例 &reftitle.examples; - <function>array_any</function> + <function>array_any</function> 示例 &reftitle.examples; - <function>array_find_key</function> + <function>array_find_key</function> 示例 &reftitle.examples; - <function>array_find</function> + <function>array_find</function> 示例