<?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> <refentry xml:id="function.array" xmlns="http://docbook.org/ns/docbook"> <refnamediv> <refname>array</refname> <refpurpose>Create an array</refpurpose> </refnamediv> <refsect1 role="description"> &reftitle.description; <methodsynopsis> <type>array</type><methodname>array</methodname> <methodparam choice="opt"><type>mixed</type><parameter>...</parameter></methodparam> </methodsynopsis> <para> Creates an array. Read the section on the <link linkend="language.types.array">array type</link> for more information on what an array is. </para> </refsect1> <refsect1 role="parameters"> &reftitle.parameters; <para> <variablelist> <varlistentry> <term><parameter>...</parameter></term> <listitem> <para> Syntax "index => values", separated by commas, define index and values. index may be of type string or integer. When index is omitted, an integer index is automatically generated, starting at 0. If index is an integer, next generated index will be the biggest integer index + 1. Note that when two identical index are defined, the last overwrite the first. </para> <para> Having a trailing comma after the last defined array entry, while unusual, is a valid syntax. </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> Returns an array of the parameters. The parameters can be given an index with the <literal>=></literal> operator. Read the section on the <link linkend="language.types.array">array type</link> for more information on what an array is. </para> </refsect1> <refsect1 role="examples"> &reftitle.examples; <para> The following example demonstrates how to create a two-dimensional array, how to specify keys for associative arrays, and how to skip-and-continue numeric indices in normal arrays. <example> <title><function>array</function> example</title> <programlisting role="php"> <![CDATA[ <?php $fruits = array ( "fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"), "numbers" => array(1, 2, 3, 4, 5, 6), "holes" => array("first", 5 => "second", "third") ); ?> ]]> </programlisting> </example> </para> <para> <example> <title>Automatic index with <function>array</function></title> <programlisting role="php"> <![CDATA[ <?php $array = array(1, 1, 1, 1, 1, 8 => 1, 4 => 1, 19, 3 => 13); print_r($array); ?> ]]> </programlisting> &example.outputs; <screen role="php"> <![CDATA[ Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 13 [4] => 1 [8] => 1 [9] => 19 ) ]]> </screen> </example> </para> <para> Note that index '3' is defined twice, and keep its final value of 13. Index 4 is defined after index 8, and next generated index (value 19) is 9, since biggest index was 8. </para> <para> This example creates a 1-based array. <example> <title>1-based index with <function>array</function></title> <programlisting role="php"> <![CDATA[ <?php $firstquarter = array(1 => 'January', 'February', 'March'); print_r($firstquarter); ?> ]]> </programlisting> &example.outputs; <screen> <![CDATA[ Array ( [1] => January [2] => February [3] => March ) ]]> </screen> </example> </para> <para> As in Perl, you can access a value from the array inside double quotes. However, with PHP you'll need to enclose your array between curly braces. <example> <title>Accessing an array inside double quotes</title> <programlisting role="php"> <![CDATA[ <?php $foo = array('bar' => 'baz'); echo "Hello {$foo['bar']}!"; // Hello baz! ?> ]]> </programlisting> </example> </para> </refsect1> <refsect1 role="notes"> &reftitle.notes; <para> <note> <para> <function>array</function> is a language construct used to represent literal arrays, and not a regular function. </para> </note> </para> </refsect1> <refsect1 role="seealso"> &reftitle.seealso; <para> <simplelist> <member><function>array_pad</function></member> <member><function>list</function></member> <member><function>count</function></member> <member><function>range</function></member> <member>&foreach;</member> <member>The <link linkend="language.types.array">array</link> type</member> </simplelist> </para> </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 -->