php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.02.2009, 14:49  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.846
HPR1974 wird schon bald berühmt werden
Standard

Diese Zeile
$array = array_unique(explode(";",$row['f_value']));
verändert nichts an $row
also bringt vardump row das was oben geschrieben steht. Völlig korrekt.
HPR1974 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 12.02.2009, 14:59  
Erfahrener Benutzer
 
Benutzerbild von taurus
 
Registriert seit: 01.11.2008
Beiträge: 821
PHP-Kenntnisse:
Anfänger
taurus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

es war ein vardump row['f_value'] nicht row... da hab ich wohl nicht ausführlich geschrieben ^^
PHP-Code:
array(1) { ["f_value"
taurus ist offline  
Alt 12.02.2009, 15:08  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.846
HPR1974 wird schon bald berühmt werden
Standard

ok verstanden das geht so auch nicht, du musst schon sowas machen:
Code:
while($row = mysql_fetch_assoc($result)) {
  $help  = array();
  if(strpos(';',$row['f_value'])){
      $help = explode(";",$row['f_value']));
      $array = array_merge($array,$help);
  }else{
     $array[] =  $row['f_value'];
  }
}     
var_dump($array);
HPR1974 ist offline  
Alt 12.02.2009, 15:44  
Erfahrener Benutzer
 
Benutzerbild von taurus
 
Registriert seit: 01.11.2008
Beiträge: 821
PHP-Kenntnisse:
Anfänger
taurus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

da bekomm ich wieder das:
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" 
er führt also grad die else anweisung aus, was ich nicht versteh da er doch mit strpos nach ";" sucht und 1x finden müsste?

Geändert von taurus (12.02.2009 um 16:19 Uhr).
taurus ist offline  
Alt 17.02.2009, 10:23  
Erfahrener Benutzer
 
Benutzerbild von taurus
 
Registriert seit: 01.11.2008
Beiträge: 821
PHP-Kenntnisse:
Anfänger
taurus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hat denn keiner ne idee wie ich das lösen könnte?

was ich suche ist genau das hier:
[url=http://www.polycoder.de/2008/10/php5-snippet-mehrdimensionale-arrays-zu-eindimensionalen-arrays/]polyCODER
taurus ist offline  
Alt 17.02.2009, 10:23  
Erfahrener Benutzer
 
Benutzerbild von taurus
 
Registriert seit: 01.11.2008
Beiträge: 821
PHP-Kenntnisse:
Anfänger
taurus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hat denn keiner ne idee wie ich das lösen könnte?

was ich suche ist genau
das hier

nur eben für php4. php5 kommt für mich nicht in frage da ich sonst das komplette script umschreiben müsste (aufwand = unendlich)

wie gesagt ich brauche eine lösung um
PHP-Code:
array(1) { ["f_value"]=>  string(24"nuss baum;apfel strudel" 
den apfel strudel getrennt ins array zu schreiben, das ganze eindimensional damit ich mit array_unique die doppelten einträge rausfiltern kann..


wer eine idee hat bekommt n bier ^^
danke
grüße felix
taurus ist offline  
Alt 17.02.2009, 10:30  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Soo jetzt mal langsam... du hast kein mehrdimensionales Array, sondern jede Menge eindimensionale Arrays, pro Schleifendurchgang 1.

Du müsstest also sowas machen:

PHP-Code:
while($row mysql_fetch_assoc($result)) {

  
$array =  explode(";",$row['f_value']);
  foreach(
$array as $element){
    
$neu[] = $element;
  }
}  

$unique array_unique($neu);
echo 
"<pre>".print_r($unique,1)."</pre>"
cycap ist offline  
Alt 17.02.2009, 10:38  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.846
HPR1974 wird schon bald berühmt werden
Standard

also wenn Du meinen Vorschlag in #13 getestet hättest, dann hättest Du gemerkt, dass ich zwei Fehler eingebaut habe und dass die Vorgehensweise Dein Problem löst, sofern Du in der Lage bist den Code zu korrigieren..
Achso:
diese Zeilen aus #13
if(strpos(';',$row['f_value'])){
$help = explode(";",$row['f_value']));
verursachen a) einen parse_error und die Funktion strpos hab ich verdreht.
HPR1974 ist offline  
Alt 17.02.2009, 12:28  
Erfahrener Benutzer
 
Benutzerbild von taurus
 
Registriert seit: 01.11.2008
Beiträge: 821
PHP-Kenntnisse:
Anfänger
taurus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ach du meine güte ^^ naja ein fehler hatte ich gefunden.. das du die zeichen in strpos vertauscht hast hab ich übersehn *g
mannn da sitzt man vor de rlösung und sieht den fehler nicht ^^

dank dir.. problem solved
taurus ist offline  
Alt 17.02.2009, 12:40  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

wozu der Aufwand?

Zitat:
Zitat von http://de.php.net/manual/de/function.explode.php
Enthält delimiter einen Wert, der nicht in string vorkommt, gibt explode() ein Array zurück, das den string als einziges Element enthält.
Es würd also das reichen:

PHP-Code:
$neu = array();
while(
$row mysql_fetch_assoc($result)) {

  
$array =  explode(";",$row['f_value']);
  
$neu array_merge($neu,$array);
}  

$unique array_unique($neu);
echo 
"<pre>".print_r($unique,1)."</pre>"
cycap 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
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
php unique array, unique mehrdimensionales array, mehrdimensionale arrays unique, php array unique while, php eindimensionales array distinct, http://www.php.de/php-einsteiger/51428-erledigt-array-unique-2.html

Alle Zeitangaben in WEZ +1. Es ist jetzt 15:40 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