Files
php-doc-ru/reference/array/functions/array-intersect-assoc.xml
2024-04-10 01:59:56 +03:00

155 lines
5.2 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: c84024092aee02b51dd18b909af0f2ccbdd24f98 Maintainer: shein Status: ready -->
<!-- Reviewed: no -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.array-intersect-assoc">
<refnamediv>
<refname>array_intersect_assoc</refname>
<refpurpose>Вычисляет пересечение массивов с дополнительной проверкой индекса</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_intersect_assoc</methodname>
<methodparam><type>array</type><parameter>array</parameter></methodparam>
<methodparam rep="repeat"><type>array</type><parameter>arrays</parameter></methodparam>
</methodsynopsis>
<simpara>
Функция <function>array_intersect_assoc</function> возвращает массив,
который содержит те значения массива <parameter>array</parameter>,
которые содержатся в каждом аргументе.
Обратите внимание, эта функция, в отличие от функции <function>array_intersect</function>,
также сравнивает и ключи.
</simpara>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
Основной проверяемый массив.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>arrays</parameter></term>
<listitem>
<para>
Массивы, с которыми идёт сравнение.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Функция возвращает ассоциативный массив, который содержит те значения массива
<parameter>array</parameter>, которые содержатся в каждом аргументе.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&array.changelog.require-only-one;
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования функции <function>array_intersect_assoc</function></title>
<programlisting role="php">
<![CDATA[
<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "b" => "yellow", "blue", "red");
$result_array = array_intersect_assoc($array1, $array2);
print_r($result_array);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[a] => green
)
]]>
</screen>
</example>
</para>
<simpara>
В примере видно, что только пара <literal>"a" =&gt;
"green"</literal>, содержится в обоих массивах и поэтому возвращается.
Значение <literal>"red"</literal> не возвращается, потому что в массиве
<varname>$array1</varname> ключ значения — <literal>0</literal>, тогда как
ключ значения "red" в массиве <varname>$array2</varname>
<literal>1</literal>. Ключ <literal>"b"</literal> не возвращается,
потому что значения ключа различны в каждом массиве.
</simpara>
<simpara>
Два значения пар <literal>key =&gt; value</literal>
признаются равными, только если выражение <literal>(string) $elem1 === (string)
$elem2</literal> истинно. Другими словами, выполняется строгая проверка типа,
поэтому требуется, чтобы строковое представление было идентичным.
<!-- TODO: example of it... -->
</simpara>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>array_intersect</function></member>
<member><function>array_uintersect_assoc</function></member>
<member><function>array_intersect_uassoc</function></member>
<member><function>array_uintersect_uassoc</function></member>
<member><function>array_diff</function></member>
<member><function>array_diff_assoc</function></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
-->