Files
php-doc-ru/reference/array/functions/array-intersect-key.xml
2023-12-22 11:18:18 +03:00

160 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-key">
<refnamediv>
<refname>array_intersect_key</refname>
<refpurpose>Вычисляет пересечение массивов, сравнивая ключи</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_intersect_key</methodname>
<methodparam><type>array</type><parameter>array</parameter></methodparam>
<methodparam rep="repeat"><type>array</type><parameter>arrays</parameter></methodparam>
</methodsynopsis>
<para>
Функция <function>array_intersect_key</function> возвращает массив,
содержащий все элементы массива <parameter>array</parameter>,
имеющие ключи, содержащиеся во всех других параметрах.
</para>
</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_key</function></title>
<programlisting role="php">
<![CDATA[
<?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
var_dump(array_intersect_key($array1, $array2));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
array(2) {
["blue"]=>
int(1)
["green"]=>
int(3)
}
]]>
</screen>
</example>
</para>
<para>
В данном примере только ключи <literal>'blue'</literal>
и <literal>'green'</literal> содержатся в обоих массивах, и поэтому
возвращаются. Обратите внимание, что значения клюей
<literal>'blue'</literal> и <literal>'green'</literal> неодинаковые в двух
массивах. Совпадение всё равно есть, так как сравниваются только ключи.
Возвращаемые значения берутся из массива <parameter>array</parameter>.
</para>
<para>
Два ключа пар <literal>key =&gt; value</literal> признаются равными, только если
выражение <literal>(string) $key1 === (string) $key2 </literal> истинно. Проще говоря,
выполняется строгая проверка строковых представлений, которые должны
быть одинаковыми.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_diff</function></member>
<member><function>array_udiff</function></member>
<member><function>array_diff_assoc</function></member>
<member><function>array_diff_uassoc</function></member>
<member><function>array_udiff_assoc</function></member>
<member><function>array_udiff_uassoc</function></member>
<member><function>array_diff_key</function></member>
<member><function>array_diff_ukey</function></member>
<member><function>array_intersect</function></member>
<member><function>array_intersect_assoc</function></member>
<member><function>array_intersect_uassoc</function></member>
<member><function>array_intersect_ukey</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
-->