php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.02.2009, 18:36  
Erfahrener Benutzer
 
Benutzerbild von taurus
 
Registriert seit: 01.11.2008
Beiträge: 825
PHP-Kenntnisse:
Anfänger
taurus ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Erledigt] array unique

Hi,
ich hab erneut wieder ein problem und komme nicht dahinter wieso hier array unique nicht will...
PHP-Code:
    $iSql  "SELECT DISTINCT f_value FROM t_customer_datafields WHERE f_label = 'bla' ORDER BY f_value ASC;";
$result mysql_query($iSql) OR die(mysql_error());   


while(
$row mysql_fetch_assoc($result)) {

$array =  array_unique(explode(";",$row['f_value']));

        
var_dump($array); 

vardump array
PHP-Code:
 array(1) { [0]=>  string(0"" 
        array(
1) { [0]=>  string(5"orange" 
        array(
1) { [0]=>  string(10"orange baum" 
        array(
1) { [0]=>  string(11"apfel strudel" 
        array(
1) { [0]=>  string(12"nuss baum" 
        array(
2) { [0]=>  string(12"nuss baum" [1]=>  string(11"apfel strudel" 
         array(
1) { [0]=>  string(7"erdbeer strauch" 
vardump row
PHP-Code:
array(1) { ["f_value"]=>  string(0"" 
       array(
1) { ["f_value"]=>  string(5"orange" }  
       array(
1) { ["f_value"]=>  string(10"orange baum" 
       array(
1) { ["f_value"]=>  string(11"apfel strudel" 
       array(
1) { ["f_value"]=>  string(12"nuss baum" 
       array(
1) { ["f_value"]=>  string(24"nuss baum;apfel strudel" 
       array(
1) { ["f_value"]=>  string(7"erdbeer strauch" 

wie in vardump row zu erkennen steht dort "nuss baum;apfel strudel" die werte müssen getrennt sein. siehe explode func. funktioniert auch soweit nur habe ich doppelte werte in der drop down liste, array unique scheint hier keine wirkung zu zeigen

über hilfe wäre ich dankbar

Geändert von taurus (04.02.2009 um 18:53 Uhr).
taurus ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.02.2009, 18:43  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Was soll denn Deinen Wünschen entsprechend entfernt werden?
David ist offline  
Alt 04.02.2009, 18:48  
Erfahrener Benutzer
 
Benutzerbild von taurus
 
Registriert seit: 01.11.2008
Beiträge: 825
PHP-Kenntnisse:
Anfänger
taurus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

siehe oben
taurus ist offline  
Alt 04.02.2009, 20:45  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Dann rate ich einfach mal: Du willst, dass [1]=> string(11) "apfel strudel" entfernt wird?
Das funktioniert so nicht, weil array_unique nicht rekursiv arbeitet und
array(1) { [0]=> string(11) "apfel strudel" }
ist nicht gleich
array(2) { [0]=> string(12) "nuss baum" [1]=> string(11) "apfel strudel" }
David ist offline  
Alt 04.02.2009, 21:18  
Erfahrener Benutzer
 
Benutzerbild von taurus
 
Registriert seit: 01.11.2008
Beiträge: 825
PHP-Kenntnisse:
Anfänger
taurus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

jup genau das was du sagst...
taurus ist offline  
Alt 04.02.2009, 22:53  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Dann hast Du wie gesagt das Problem, dass array_unique nur die direkten Elemente des Feldes auf Gleichheit prüft- nicht rekursiv.
David ist offline  
Alt 04.02.2009, 22:58  
Benutzer
 
Registriert seit: 16.01.2008
Beiträge: 42
deeg befindet sich auf einem aufstrebenden Ast
deeg eine Nachricht über ICQ schicken deeg eine Nachricht über MSN schicken deeg eine Nachricht über Skype™ schicken
Standard

$row[f_value] ist ein string (wenn dein var_dump von $row stimmt). Da brauchst du nicht array_unique anwenden.

Edit:
Sorry hab mich verkukt. Es ist natürlich ein array. Aber ich muss David recht geben array_unique prüft nicht rekursiv.

Geändert von deeg (04.02.2009 um 23:01 Uhr).
deeg ist offline  
Alt 05.02.2009, 14:37  
Erfahrener Benutzer
 
Benutzerbild von taurus
 
Registriert seit: 01.11.2008
Beiträge: 825
PHP-Kenntnisse:
Anfänger
taurus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mh und wieso macht mir explode aus dem array ein rekursives? blödes explode das will ich nich
taurus ist offline  
Alt 05.02.2009, 15:14  
Erfahrener Benutzer
 
Registriert seit: 26.05.2008
Beiträge: 200
PHP-Kenntnisse:
Fortgeschritten
[-UFO-]Melkor befindet sich auf einem aufstrebenden Ast
Standard

Das hier könnte funktionieren:

PHP-Code:
$tmp $row['f_value'];
    unset(
$row['f_value']);
    
$array =  array_unique(
        
array_merge(
            
$row,
            
explode(";",$row['f_value'])
        )    
    ); 
[-UFO-]Melkor ist offline  
Alt 12.02.2009, 14:43  
Erfahrener Benutzer
 
Benutzerbild von taurus
 
Registriert seit: 01.11.2008
Beiträge: 825
PHP-Kenntnisse:
Anfänger
taurus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

was macht das $tmp da?
gehört das nicht
PHP-Code:
array_merge(
            
$tmp,
            
explode(";",$row['f_value']) 
so?

wie auch immer, wenn ich das so einbau teilt er mirs nicht :/
PHP-Code:
$result mysql_query($iSql) OR die(mysql_error());   
echo 
'<select>';

while(
$row mysql_fetch_assoc($result)) {
$tmp $row['f_value'];
    unset(
$row['f_value']);
    
$array =  array_unique(
        
array_merge(
            
$tmp,
            
explode(";",$row['f_value'])
        )    
    );  

foreach(
$array as $value)
     { 
         echo 
'<option>' $value '</option>';
     }
    
}
echo 
'</select>'
die variante array_merge(
$row spuckt mir erst gar nichts aus..
haste noch ne idee?
taurus ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
Soapfault: Undefined Property Argi PHP-Fortgeschrittene 0 28.07.2008 11:17
Kategoriedaten rekursiv in Array bringen Schiedsrichter PHP Tipps 2008 2 10.12.2007 15:43
ARRAY: alle möglichen Kombinationen Tentacle PHP Tipps 2006 13 12.05.2006 00:18
Übersicht aus mehrdimensionalem Array erzeugen Crypi PHP-Fortgeschrittene 0 30.01.2006 13:44
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
Array wie auslesen? PHP Tipps 2005 7 07.03.2005 11:43
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
array unique, php array unique, array_unique mehrdimensional, php array_unique mehrdimensional, unique array, php unique array, php array distinct, array unique php, array unique mehrdimensional, php unique, array-unique, php array unique mehrdimensional, mehrdimensionale arrays unique, unique array php, array_unique string, mehrdimensional array_unique, mehrdimensionales array unique php, php mehrdimensionales array unique, array php unique, array unique mehrdimensionales array

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:13 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum