PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   Probleme mit Arrayelemente zaehlen (http://www.selfphp.de/forum/showthread.php?t=20341)

zu1u 05.10.2008 22:21:11

Probleme mit Arrayelemente zaehlen
 
hey vieleicht weiss jemand hier weiter, ich bin leider etwas ratlos:
ich lese tags aus mysql die durch komma getrennt werden sollen, und anschliessend ausgegeben. Es hat auchimmer funktioniert aber jetzt habe ich es mit ' " Zeichen usw innerhalb der tags versucht und bekomme Probleme

$tags = ";'a''as'df'asdf,'',''asdf',a,a,a,d,c"

$test = array_unique(explode(',', $tags));
echo count($test)." ||| ";
for($i=0;$i<count($test); $i++) {
echo $test[$i]." ||| ";
}

Als Ausgabe erhalte ich 6 ||| ;'a''as'df'asdf ||| '' ||| ''asdf' ||| a und danach fuer index 4 und 5 im array: Notice undefined Offset 4 bzw. 5

Jemand ne Ahnung warum ?!?

zu1u 05.10.2008 22:44:25

AW: Probleme mit Arrayelemente zaehlen
 
hm komisch wenn ichs per

foreach($test AS $wort){
echo $wort;
}

durchlaufe geht das ... also auch mit 6 eintraegen, nicht nur ohne fehler ;)

wuerd mich trotzdem interessieren woran das liegt, falls es jemand weiss

Domi 06.10.2008 00:15:24

AW: Probleme mit Arrayelemente zaehlen
 
Hi,

ja das ist ganz einfach. Hättest du das Array mit print_r(); mal angezeigt, wärst vielleicht selber drauf gekommen.

Also: Aufgrund der Tatsache, dass du die doppelten rausschmeißt, fehlen die Einträge. Der Eintrag mit dem Wert hat die Indizes 4, 5, und 6. Also:

PHP-Code:

$test[4];
$test[5];
$test[6]; 

Jetzt werden die doppelten gekickt und es bleibt nur die Nummer 6. Daher kannst du 4 und 5 nicht anzeigen.

Wenn du es mit foreach() machst, dann wird jeder Index ausgelesen und angezeigt, egal ob die in einer Reihenfolge sind oder nicht. Damit es mit Count wieder funktioniert müsstest du erst die Lücken schließen.

Ach so, in Zeile hast nen Semikolon hier vergessen:

soll:
PHP-Code:

$tags ";'a''as'df'asdf,'',''asdf',a,a,a,d,c"

ist:
PHP-Code:

$tags ";'a''as'df'asdf,'',''asdf',a,a,a,d,c" 

Gruß aus dem Allgäu (da wo schon der 1. Schnee liegt)

Domi

zu1u 06.10.2008 00:50:43

AW: Probleme mit Arrayelemente zaehlen
 
danke... ja haett ich eignetlich selbst drauf kommen koennen.

bin leider net so fit mit den ganzen php befehlen... :/

Domi 06.10.2008 00:52:22

AW: Probleme mit Arrayelemente zaehlen
 
Zitat:

Zitat von zu1u (Beitrag 121234)
danke... ja haett ich eignetlich selbst drauf kommen koennen.

bin leider net so fit mit den ganzen php befehlen... :/

Wir haben alle mal klein angefangen, das kommt alles von Zeit zu Zeit, nur nicht aufgeben und immer ranhalten, dann wird das!

Domi


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

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.