<?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> <refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.array-key-exists"> <refnamediv> <refname>array_key_exists</refname> <refpurpose>Checks if the given key or index exists in the array</refpurpose> </refnamediv> <refsect1 role="description"> &reftitle.description; <methodsynopsis> <type>bool</type><methodname>array_key_exists</methodname> <methodparam><type>mixed</type><parameter>key</parameter></methodparam> <methodparam><type>array</type><parameter>array</parameter></methodparam> </methodsynopsis> <para> <function>array_key_exists</function> returns &true; if the given <parameter>key</parameter> is set in the array. <parameter>key</parameter> can be any value possible for an array index. </para> </refsect1> <refsect1 role="parameters"> &reftitle.parameters; <para> <variablelist> <varlistentry> <term><parameter>key</parameter></term> <listitem> <para> Value to check. </para> </listitem> </varlistentry> <varlistentry> <term><parameter>array</parameter></term> <listitem> <para> An array with keys to check. </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> &return.success; </para> <note> <para> <function>array_key_exists</function> will search for the keys in the first dimension only. Nested keys in multidimensional arrays will not be found. </para> </note> </refsect1> <refsect1 role="examples"> &reftitle.examples; <para> <example> <title><function>array_key_exists</function> example</title> <programlisting role="php"> <![CDATA[ <?php $search_array = array('first' => 1, 'second' => 4); if (array_key_exists('first', $search_array)) { echo "The 'first' element is in the array"; } ?> ]]> </programlisting> </example> </para> <example> <title><function>array_key_exists</function> vs <function>isset</function></title> <para> <function>isset</function> does not return &true; for array keys that correspond to a &null; value, while <function>array_key_exists</function> does. </para> <programlisting role="php"> <![CDATA[ <?php $search_array = array('first' => null, 'second' => 4); // returns false isset($search_array['first']); // returns true array_key_exists('first', $search_array); ?> ]]> </programlisting> </example> </refsect1> <refsect1 role="notes"> &reftitle.notes; <note> <para> For backward compatibility reasons, <function>array_key_exists</function> will also return &true; if <parameter>key</parameter> is a property defined within an <type>object</type> given as <parameter>array</parameter>. This behaviour should not be relied upon, and care should be taken to ensure that <parameter>array</parameter> is an <type>array</type>. </para> <para> To check whether a property exists in an object, use <function>property_exists</function>. </para> </note> </refsect1> <refsect1 role="seealso"> &reftitle.seealso; <para> <simplelist> <member><function>isset</function></member> <member><function>array_keys</function></member> <member><function>in_array</function></member> <member><function>property_exists</function></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 -->