Files
php-doc-ru/reference/array/functions/array-search.xml

133 lines
4.7 KiB
XML
Raw 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"?>
<!-- EN-Revision: 768876982f97b3c710c1774511094e259aea297d Maintainer: shein Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.array-search" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_search</refname>
<refpurpose>Ищет значение в массиве и в случае успешного поиска возвращает
ключ первого найденного элемента</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>int</type><type>string</type><type>false</type></type><methodname>array_search</methodname>
<methodparam><type>mixed</type><parameter>needle</parameter></methodparam>
<methodparam><type>array</type><parameter>haystack</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>strict</parameter><initializer>&false;</initializer></methodparam>
</methodsynopsis>
<para>
Ищет значение <parameter>needle</parameter> в массиве <parameter>haystack</parameter>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>needle</parameter></term>
<listitem>
<para>
Искомое значение.
</para>
<note>
<para>
Если искомое значение <parameter>needle</parameter> — строка, функция
сравнивает значения с учётом регистра.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>haystack</parameter></term>
<listitem>
<para>
Массив.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>strict</parameter></term>
<listitem>
<para>
Функция <function>array_search</function> будет искать
<emphasis>идентичные</emphasis> элементы в массиве <parameter>haystack</parameter>,
если третьему параметру <parameter>strict</parameter> установили значение &true;.
То есть функция также будет выполнять
<link linkend="language.types">строгое сравнение типа</link>
значения <parameter>needle</parameter> в массиве <parameter>haystack</parameter>,
а индекс объекта функция найдёт, если объект окажется тем же экземпляром.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает ключ значения <parameter>needle</parameter>, если функция
нашла значение в массиве, иначе &false;.
</para>
<para>
Функция вернёт первый найденный ключ, если в массиве <parameter>haystack</parameter>
значение <parameter>needle</parameter> встречается больше одного раза.
Чтобы вернуть ключи всех найденных значений,
вызывают функцию <function>array_keys</function>
с необязательным параметром <parameter>filter_value</parameter>.
</para>
&return.falseproblem;
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования функции <function>array_search</function></title>
<programlisting role="php">
<![CDATA[
<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array); // $key = 1;
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_keys</function></member>
<member><function>array_values</function></member>
<member><function>array_key_exists</function></member>
<member><function>in_array</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
-->