1
0
mirror of https://github.com/php/doc-zh.git synced 2026-03-24 07:02:15 +01:00
Files
魔王卷子 d0cf9f9e91 Update array 1 (#673)
* Update array-unshift.xml

* Update asort.xml

* Update arsort.xml

* Update krsort.xml

* Update ksort.xml

* Update natcasesort.xml

* Update natsort.xml

* Update rsort.xml

* Update sort.xml

* Update uasort.xml

* Update uksort.xml

* Update usort.xml
2023-03-13 23:39:46 +08:00

180 lines
4.2 KiB
XML
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 2ca090342977839edca2f7f4e52305a1b5da6095 Maintainer: HonestQiao Status: ready -->
<!-- CREDITS: mowangjuanzi -->
<refentry xml:id="function.sort" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>sort</refname>
<refpurpose>对数组升序排序</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>true</type><methodname>sort</methodname>
<methodparam><type>array</type><parameter role="reference">array</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>flags</parameter><initializer><constant>SORT_REGULAR</constant></initializer></methodparam>
</methodsynopsis>
<para>
<parameter>array</parameter> 本身按照值value升序排序。
</para>
&note.sort-unstable;
&note.no-key-association;
&note.reset-index;
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
输入的数组。
</para>
</listitem>
</varlistentry>
&sort.flags.parameter;
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.true.always;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&return.type.true;
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>sort</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
fruits[0] = apple
fruits[1] = banana
fruits[2] = lemon
fruits[3] = orange
]]>
</screen>
</example>
</para>
<para>
fruits 被按照字母顺序排序。
</para>
<para>
<example>
<title>使用 <function>sort</function> 不区分大小写自然排序的示例</title>
<programlisting role="php">
<![CDATA[
<?php
$fruits = array(
"Orange1", "orange2", "Orange3", "orange20"
);
sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
fruits[0] = Orange1
fruits[1] = orange2
fruits[2] = Orange3
fruits[3] = orange20
]]>
</screen>
</example>
</para>
<para>
fruits 排序得像 <function>natcasesort</function> 的结果。
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<simpara>
和大多数 PHP 排序函数一样,<function>sort</function> 使用了 <link
xlink:href="&url.wiki.quicksort;">快速排序</link> 实现的。
在已排序的数组分片的中间,选择基准值,具有最优时间。但不应该依赖它实现的细节。
</simpara>
</note>
<warning>
<simpara>
在对含有混合类型值的数组以 <parameter>flags</parameter><constant>SORT_REGULAR</constant>
排序时要小心,因为 <function>sort</function> 可能会产生不可预知的结果。
</simpara>
</warning>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>rsort</function></member>
<member>&seealso.array.sorting;</member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->