function.array-diff-uassoc.html
9.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung,
welche durch eine benutzerdefinierte Funktion vorgenommen wird</title>
</head>
<body><div class="manualnavbar" style="text-align: center;">
<div class="prev" style="text-align: left; float: left;"><a href="function.array-diff-key.html">array_diff_key</a></div>
<div class="next" style="text-align: right; float: right;"><a href="function.array-diff-ukey.html">array_diff_ukey</a></div>
<div class="up"><a href="ref.array.html">Array Funktionen</a></div>
<div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="function.array-diff-uassoc" class="refentry">
<div class="refnamediv">
<h1 class="refname">array_diff_uassoc</h1>
<p class="verinfo">(PHP 5)</p><p class="refpurpose"><span class="refname">array_diff_uassoc</span> — <span class="dc-title">Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung,
welche durch eine benutzerdefinierte Funktion vorgenommen wird</span></p>
</div>
<div class="refsect1 description" id="refsect1-function.array-diff-uassoc-description">
<h3 class="title">Beschreibung</h3>
<div class="methodsynopsis dc-description">
<span class="type">array</span> <span class="methodname"><strong>array_diff_uassoc</strong></span>
( <span class="methodparam"><span class="type">array</span> <code class="parameter">$array1</code></span>
, <span class="methodparam"><span class="type">array</span> <code class="parameter">$array2</code></span>
[, <span class="methodparam"><span class="type">array</span> <code class="parameter">$...</code></span>
], <span class="methodparam"><span class="type"><a href="language.pseudo-types.html#language.types.callback" class="type callback">callback</a></span> <code class="parameter">$key_compare_func</code></span>
)</div>
<p class="para rdfs-comment">
<span class="function"><strong>array_diff_uassoc()</strong></span> gibt ein <span class="type"><a href="language.types.array.html" class="type array">array</a></span> zurück,
welches alle Werte aus <code class="parameter">array1</code> enthält, die in keinem
der anderen Argumente enthalten sind. Beachten Sie, dass die Schlüssel anders
als von <span class="function"><a href="function.array-diff.html" class="function">array_diff()</a></span> in den Vergleich einbezogen werden.
</p>
<p class="para">
Dieser Vergleich wird von einer benutzerdefinierten Callbackfunktion
durchgeführt. 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. Dies ist anders
als <span class="function"><a href="function.array-diff-assoc.html" class="function">array_diff_assoc()</a></span>, in der eine eingebaute Funktion
für den Vergleich der Indizes verwendet wird.
</p>
<p class="para">
<div class="example" id="example-4899">
<p><strong>Beispiel #1 <span class="function"><strong>array_diff_uassoc()</strong></span> Beispiel</strong></p>
<div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">key_compare_func</span><span style="color: #007700">(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">$b</span><span style="color: #007700">) <br />{<br /> if (</span><span style="color: #0000BB">$a </span><span style="color: #007700">=== </span><span style="color: #0000BB">$b</span><span style="color: #007700">) {<br /> return </span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /> }<br /> return (</span><span style="color: #0000BB">$a </span><span style="color: #007700">> </span><span style="color: #0000BB">$b</span><span style="color: #007700">)? </span><span style="color: #0000BB">1</span><span style="color: #007700">:-</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">$array1 </span><span style="color: #007700">= array(</span><span style="color: #DD0000">"a" </span><span style="color: #007700">=> </span><span style="color: #DD0000">"gruen"</span><span style="color: #007700">, </span><span style="color: #DD0000">"b" </span><span style="color: #007700">=> </span><span style="color: #DD0000">"braun"</span><span style="color: #007700">, </span><span style="color: #DD0000">"c" </span><span style="color: #007700">=> </span><span style="color: #DD0000">"blau"</span><span style="color: #007700">, </span><span style="color: #DD0000">"rot"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$array2 </span><span style="color: #007700">= array(</span><span style="color: #DD0000">"a" </span><span style="color: #007700">=> </span><span style="color: #DD0000">"gruen"</span><span style="color: #007700">, </span><span style="color: #DD0000">"gelb"</span><span style="color: #007700">, </span><span style="color: #DD0000">"rot"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">array_diff_uassoc</span><span style="color: #007700">(</span><span style="color: #0000BB">$array1</span><span style="color: #007700">, </span><span style="color: #0000BB">$array2</span><span style="color: #007700">, </span><span style="color: #DD0000">"key_compare_func"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
<div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt folgende
Ausgabe:</p></div>
<div class="example-contents screen">
<div class="cdata"><pre>
Array
(
[b] => braun
[c] => blau
[0] => rot
)
</pre></div>
</div>
</div>
</p>
<p class="simpara">
In unserem obigen Beispiel sieht man dass das
<em>"a" => "gruen"</em> Paar in beiden Arrays enthalten ist
und daher nicht in der Ausgabe der Funktion auftaucht. Andererseits ist das
Paar <em>0 => "rot"</em> in der Ausgabe, weil
<em>"red"</em> im zweiten Argument einen Schlüsselwert von
<em>1</em> enthält.
</p>
<p class="simpara">
Die Gleichheit von zwei Indizes wird von einer benutzerdefinierten
Callbackfunktion überprüft.
</p>
<blockquote class="note"><p><strong class="note">Hinweis</strong>:
<span class="simpara">
Bitte beachten Sie, dass diese Funktion nur eine Dimension eines
n-dimensionalen Arrays prüft. Natürlich kann man tiefere Dimensionen
überprüfen, indem man zum Beispiel
<em>array_diff_uassoc($array1[0], $array2[0], "key_compare_func");</em>
verwendet.
</span>
</p></blockquote>
<p class="para">
Siehe auch
<span class="function"><a href="function.array-diff.html" class="function">array_diff()</a></span>,
<span class="function"><a href="function.array-diff-assoc.html" class="function">array_diff_assoc()</a></span>,
<span class="function"><a href="function.array-udiff.html" class="function">array_udiff()</a></span>,
<span class="function"><a href="function.array-udiff-assoc.html" class="function">array_udiff_assoc()</a></span>,
<span class="function"><a href="function.array-udiff-uassoc.html" class="function">array_udiff_uassoc()</a></span>,
<span class="function"><a href="function.array-intersect.html" class="function">array_intersect()</a></span>,
<span class="function"><a href="function.array-intersect-assoc.html" class="function">array_intersect_assoc()</a></span>,
<span class="function"><a href="function.array-uintersect.html" class="function">array_uintersect()</a></span>,
<span class="function"><a href="function.array-uintersect-assoc.html" class="function">array_uintersect_assoc()</a></span> und
<span class="function"><a href="function.array-uintersect-uassoc.html" class="function">array_uintersect_uassoc()</a></span>.
</p>
</div>
</div><hr /><div class="manualnavbar" style="text-align: center;">
<div class="prev" style="text-align: left; float: left;"><a href="function.array-diff-key.html">array_diff_key</a></div>
<div class="next" style="text-align: right; float: right;"><a href="function.array-diff-ukey.html">array_diff_ukey</a></div>
<div class="up"><a href="ref.array.html">Array Funktionen</a></div>
<div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>