Leere Arrays entfernen

J

joky_joky

Hallo ich habe in meiner Datenbank folgendes stehen.

Code:
hobby1#hobby2#hobby3#hobby4#hobby5#hobby6#hobby7#hobby8#hobby9#hobby10

So nun zerhacke ich das ganze mit der Funktion explode

PHP:
$hobbys = explode("#",$dbhobby);

So nun kann ich ja die einzelnen Arrays ansprechen mit $hobbys[0] z.B. soweit so gut.
Jetzt meine Frage wie kann ich es machen das er mir alle Ihnhalte des Arrays
anzeigt und dabei die Arrays wegläst in denen nichts steht und die in denen was steht
mit einem Komma trennt.

Weil das oben geschilderte ist der Idealfall,
meistens sieht es in der DB so aus hobby1##hobby4####hobby8#hobby9#
und dann wäre ja das Array $hobbys[5] leer da ja nichts drin steht.

Denn ich hätte gerne das wenn ich es per echo aufrufe das dann folgendes kommt.
hobby1, hobby4, hobby8, hobby9

Habe es mit implode probieren wollen aber irgendwie bin ich da aufm Holzweg. :confused:
Kann mir jemand helfen?

MfG Joky_Joky
 
PHP:
while(list($key , $wert) = each($hobbys)){
   if(empty($wert)){
      unset($arr[$key]); 
   }
}

probier mal so
 
PHP:
while(list($key , $wert) = each($hobbys)){
   if(!$wert){
      unset($arr[$key]); 
   }
}

und so? was gibt er bei dir aus wenn du

PHP:
print_r($hobbys);

machst?
 
Ok er zeigt mir gar nichts an.

hier mal mein kompletter code

PHP:
<?php
include ("includes/config");
$db = mysql_connect("$host", "$user", "$pass");
$sqlab = "SELECT * FROM $table WHERE Id = '3'";
$res = mysql_db_query("$database", "$sqlab");
for ($i=0; $i<$num; $i++)
{
      $dbsport = mysql_result($res, $i, "Sport");
}
$hobbys = explode("#",$dbsport);
while(list($key , $wert) = each($hobbys)){ 
   if(empty($wert)){ 
      unset($arr[$key]); 
   } 
}
print_r($hobbys);

mysql_close($db);
?>

Dann gibt er mir da aus :(

Array ( [0] => )
 
Oh hab ich hier vergessen zu posten sorry im meinem Code steht des schon drin
aber ich bekomme jetzt denn dies

Vollyball#Radfahren#Fußball#Skifahren#Handball#Snowboarden#Squash#Joggen#Tennis#Segeln#Tischtennis#Schach#Schwimmen#Array ( [0] => Vollyball [1] => Radfahren [2] => Fußball [3] => Skifahren [4] => Handball [5] => Snowboarden [6] => Squash [7] => Joggen [8] => Tennis [9] => Segeln [10] => Tischtennis [11] => Schach [12] => Schwimmen [13] => )

ok das ist ja alles schön und gut aber ich verstehe nicht ganz was ich damit soll.
ich wollte docheigentlich nur das wenn in der Datenbank es so steht

Vollyball#Radfahren#Fußball#Skifahren#Handball#Snowboarden#Squash#Joggen#Tennis#Segeln#Tischtennis#Schach#Schwimmen
ist ja kein Problem ich es mit explode trennen kann und dann so wiedergebe.

Vollyball, Radfahren, Fußball, Skifahren, Handball, Snowboarden, Squash, Joggen, Tennis, Segeln, Tischtennis, Schach, Schwimmen

und wenn das in der DB steht

Vollyball###Skifahren#Handball#Snowboarden###Tennis#Segeln#Tischtennis#Schach#Schwimmen

das er mit dann das ausgibt.

Vollyball, Skifahren, Handball, Snowboarden, Tennis, Segeln, Tischtennis, Schach, Schwimmen

MfG Joky_Joky
 
PHP:
$hobbys = explode("#",$dbsport);
while(list($key , $wert) = each($hobbys)){ 
   if(!empty($wert)){
      $ausgabe.=$wert.',';
   }
}

so etwa?
 
Zurück