array_unique() ist die schreibweise egal
							
						
					array_intersect() mit unterschiedlichen array - wie?
				
					Einklappen
				
			
		
	X
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Kann ich mir nicht vorstellenarray_unique() ist die schreibweise egal
 @topicstarterNote: Two elements are considered equal if and only if (string) $elem1 === (string) $elem2. In words: when the string representation is the same. The first element will be used.
 http://ch2.php.net/manual/en/functio...ique.php#78801
 
 Gruss
 
 tobiGutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten
 
 [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
 Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
 Kommentar
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Diese Funktion gibit dasselbe Ergebniss aus wie array_unique:Original geschrieben von jahlives
 Kann ich mir nicht vorstellen
 
 @topicstarter
 http://ch2.php.net/manual/en/functio...ique.php#78801
 
 Gruss
 
 tobi
 
 $a = array('aaa' => '#1', 'AAA' => '#2', 'ccc' => '#3');
 #$diff = array_unique($a);
 function array_iunique($diff) {
 return array_intersect_key($diff,array_unique(array_map(strtolower,$diff)));
 }
 print_r($diff);
 
 Mache ich da etwas falsch?
 Kommentar
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Mal ne Frage: Wie kommst du drauf, dass array_unique() die Schlüssel eines Arrays bearbeiten würde? Es geht um die Werte der einzelnen Einträge und nicht um deren Key. Du kannst in einem Array gar nicht zwei identische Keys haben, da sonst der zweite Eintrag mit demselben Key den ersten einfach überschreibt.Mache ich da etwas falsch?
 
 Gruss
 
 tobiGutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten
 
 [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
 Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
 Kommentar
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Mein Ziel ist es , einzelne PHP-Funktionen besser zu verstehen.Original geschrieben von TobiaZ
 Was ist eigentlich dein End-Ziel? Vielleicht kann man dich irgendwann von deinen Irr-Wegen wegholen?  
 EDIT: Ein End-Ziel gibt es nicht, in welcher Form auch immer.Zuletzt geändert von janein; 27.11.2007, 15:07.
 Kommentar
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 In der Doku steht, dass array_unique() case sensitive ist. Was da nicht steht ist, wie es auch case insensitive geht. Hast Du vielleicht neben Deinen pädagogischen Empfehlungen auch ein Beispeil für case insensitives array_unique()?Original geschrieben von TobiaZ
 Achso, ... 
 
 OffTopic: 
 eigentlich machen alle Funktionen das, was auch in der Doku steht. 
 Kommentar
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Wen wundert es? Oder siehst du in diesem Array irgendwo doppelte Werte???Diese Funktion gibit dasselbe Ergebniss aus wie array_unique:
 
 $a = array('aaa' => '#1', 'AAA' => '#2', 'ccc' => '#3');
 #$diff = array_unique($a);
 function array_iunique($diff) {
 return array_intersect_key($diff,array_unique(array_map(strtolower,$diff)));
 }
 print_r($diff);
 Tipp key !== value 
 
 Gruss
 
 tobiGutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten
 
 [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
 Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
 Kommentar
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Du hast eben noch gesagt, dass du die Funktionen verstehen willst. Auf einmal hast du doch ein konkretes Ziel. Sorry, Erziehung scheint mir bei dir die beste Hilfe zur Selbsthilfe zu sein.
 
 Dein Problem scheint zu sein, dass du deine Probleme nicht erkennst, geschweige denn ausdrücken kannst.
 
 eine funktion für array_iunique (auch wenns eigentlich schwachsinn ist) hast du ja schon gefunden.
 
 Funktioniert wie gewünscht.PHP-Code:<?php
 
 print_r(array_iunique(array('a','A','b')));
 
 function array_iunique($array) {
 return array_intersect_key($array,array_unique(
 array_map(strtolower,$array)));
 }
 
 ?>
 
 Dass du so grundlegende Dinge wie Schlüssel und Werte nicht auseinanderhalten kannst, behindert natürlich etwas beim erreichen deiner Ziele.
 
 In diesem Sinne.
 grundlagen!!!
 Kommentar
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Weil du eine PHP Version < 5.1.0 verwendest. Das stünde auch im Manual zu dieser Funktion. Jetzt wird es aber mal Zeit das du dort reinschaustUnd warum erhalte ich bei Deinem copy and paste Beispiel das: 
 
 Gruss
 
 tobiGutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten
 
 [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
 Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
 Kommentar
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Wenn noch jemand ein ähnlichen Fall hat, hier eine Lösung, neben all den vergebliche pädagogischen Ratschlägen:
 
 $b = array('aaa','bbb','AAA');
 function array_iunique($arr){
 foreach ($arr as $key => $value) {
 $arr[$key] = strtolower($value);
 }
 return array_unique($arr);
 }
 $new_array = array_iunique($b);
 print_r($new_array);Zuletzt geändert von janein; 27.11.2007, 15:44.
 Kommentar
 
          

 Moderator
 Moderator
Kommentar