1
0
mirror of https://github.com/php/doc-de.git synced 2026-03-25 15:52:10 +01:00
Files
archived-doc-de/reference/array/functions/array-udiff-uassoc.xml
Nilgün Belma Bugüner fd2f75e1a8 changed EN-Revision tag as cvs2svn
fixed svn properties

git-svn-id: https://svn.php.net/repository/phpdoc/de/trunk@283886 c90b9560-bf6c-de11-be94-00142212c4b1
2009-07-11 22:21:12 +00:00

150 lines
5.2 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- splitted from ./en/functions/array.xml, last change in rev 1.14 -->
<!-- EN-Revision: n/a Maintainer: nobody Status: ready -->
<refentry xml:id="function.array-udiff-uassoc" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_udiff_uassoc</refname>
<refpurpose>Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung,
vergleicht Daten und Indizes mittels einer Callbackfunktion</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_udiff_uassoc</methodname>
<methodparam><type>array</type><parameter>array1</parameter></methodparam>
<methodparam><type>array</type><parameter>array2</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter> ...</parameter></methodparam>
<methodparam><type>callback</type><parameter>data_compare_func</parameter></methodparam>
<methodparam><type>callback</type><parameter>key_compare_func</parameter></methodparam>
</methodsynopsis>
<para>
<function>array_udiff_uassoc</function> gibt ein Array mit allen Werten von
<parameter>array1</parameter>, welche in keinem der anderen Argumente
enthalten sind, zurück. Beachten Sie, dass Schlüssel anders als von
<function>array_diff</function> und <function>array_udiff</function> für
den Vergleich herangezogen werden. Der Vergleich der Arrayinhalte wird
von der benutzerdefinierten Callbackfunktion
<parameter>data_compare_func</parameter> durchgeführt. In dieser
Hinsicht ist das Verhalten anders als jenes von
<function>array_diff_assoc</function>, welche eine eingebaute
Vergleichsfunktion verwendet. Der Vergleich der Schlüssel (Indizes) wird
von der Funktion <parameter>key_compare_func</parameter> durchgeführt.
Dieses verhalten Unterschiedet sich von <function>array_udiff_assoc</function>
darin, dass Letztere die Indizes mit einer eingebauten Funktion vergleicht.
</para>
<para>
<example>
<title><function>array_udiff_uassoc</function> Beispiel</title>
<programlisting role="php">
<![CDATA[
<?php
class cr {
private $priv_member;
function cr($val)
{
$this->priv_member = $val;
}
function comp_func_cr($a, $b)
{
if ($a->priv_member === $b->priv_member) return 0;
return ($a->priv_member > $b->priv_member)? 1:-1;
}
function comp_func_key($a, $b)
{
if ($a === $b) return 0;
return ($a > $b)? 1:-1;
}
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);
$result = array_udiff_uassoc($a, $b, array("cr", "comp_func_cr"), array("cr", "comp_func_key"));
print_r($result);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[0.1] => cr Object
(
[priv_member:private] => 9
)
[0.5] => cr Object
(
[priv_member:private] => 12
)
[0] => cr Object
(
[priv_member:private] => 23
)
)
]]>
</screen>
</example>
</para>
<simpara>
In unserem Beispiel sehen Sie, dass das <literal>"1" =&gt; new cr(4)</literal>
Paar in beiden Arrays enthalten ist und daher nicht in der Ausgabe der
Funktion auftaucht. Denken Sie daran, dass Sie zwei Callbackfunktionen
angeben müssen.
</simpara>
<simpara>
Für den Vergleich wird die benutzerdefinierte Funktion verwendet.
Diese muss einen Integer kleiner als, genau gleich oder
größer als Null zurückgeben, wenn das erste Argument entsprechend als
kleiner, gleich oder größer als das Zweite betrachtet wird.
</simpara>
<note>
<simpara>
Bitte beachten Sie, dass diese Funktion nur eine Dimension eines
n-dimensionalen Arrays überprüft. Natürlich können Sie tiefere Dimensionen
prüfen, indem Sie
<literal>array_udiff_uassoc($array1[0], $array2[0], "data_compare_func",
"key_compare_func");</literal> verwenden.
</simpara>
</note>
<para>
Siehe auch
<function>array_diff</function>,
<function>array_diff_assoc</function>,
<function>array_diff_uassoc</function>,
<function>array_udiff</function>,
<function>array_udiff_assoc</function>,
<function>array_intersect</function>,
<function>array_intersect_assoc</function>,
<function>array_uintersect</function>,
<function>array_uintersect_assoc</function> und
<function>array_uintersect_uassoc</function>.
</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:"../../../../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
-->