Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
String nach Komma aufteilen und Array draus machen? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
String nach Komma aufteilen und Array draus machen?


 
TobiaZ
04-01-2002, 19:57 
 
Hi!

Ich hab mal wieder ein Problem. Wahrscheinlich mit String oder so. Die Dinger sind bei mir auch ziemlich verhasst. Wahrscheinlich weil ich da zu doof für bin.

Hab also eine Variable

$sammlung = "teil1,teil2,teil3,";

Möchte daraus jetzt ein Array mit ganz normalen Indexwerten machen:

$sammlung[1] = "teil1";
$sammlung[2] = "teil2";
$sammlung[3] = "teil3";

Wie kriege ich das hin? Also die teil1-3 können auch sonst irgend ein beliebiges Wort sein. sammlung[1-3] kann auch 1-5 oder so sein. Die erste zahl ist aber immer 1 und die letzte habe ich auch definiert. Falls man dafür eine For-Schleife braucht.

Danke euch schon jetzt!

 
Sky
04-01-2002, 20:02 
 
$sammlung = explode(',',$sammlung);

EDIT: Indexierung fängt bei 0 an.

 
TobiaZ
04-01-2002, 20:10 
 
Stimmt. bei nem Array ist der erste Index immer bei 0. Aber die Zuordnung im System geht besser wenn ich bei 1 Anfange. (Brauch man im Kopf auch nicht immer 1 runter zu zählen.) Aber dann könnte ich mir ja auch einfach einen Standartwert wie zum Beispiel "nd" (nicht definiert) in die Index 0 reinsetzten. Den brauch ich ja nicht auszuwerten und zu verarbeiten.
Oder geht das auch anders? aber bestimmt nicht so einfach, oder?



[Editiert von TobiaZ am 04-01-2002 um 19:17]

 
Sky
04-01-2002, 20:16 
 
$sammlung = explode(',',$sammlung);
for ($i=sizeof($sammlung);$i>0;$i--) $sammlung[$i] = $sammlung[$i-1];
unset($sammlung[0]);

 
TobiaZ
04-01-2002, 20:31 
 
Ich hab mir einfach vor teil1 ein ; gesetzt. Erschien mir einfacher. Aber ist natürlich nicht so schön wie deins.

THX!

 
TobiaZ
04-01-2002, 20:42 
 
Macht wohl mehr Sinn, deinen Code zu benutzen. das , ist nicht wirklich klug. Außerdem, warum soll ich etwas speichern, wenn ichs nicht brauch.

Und so schwer ist dein Code ja auch nicht. Einfache Schleife, hätte ich auch drauf kommen können. Aber dieses UNSET kannte ich noch gar nicht.

Nobody Is Perfect

 
Titus
05-01-2002, 03:30 
 
Original geschrieben von Sky
$sammlung = explode(',',$sammlung);
for ($i=sizeof($sammlung);$i>0;$i--) $sammlung[$i] = $sammlung[$i-1];
unset($sammlung[0]);

das selbe in grün:
$sammlung = explode(',',",$sammlung");
unset($sammlung[0]);

 
TobiaZ
05-01-2002, 14:22 
 
Nicht ganz.

Der erste Code war schon richtiger. Du musst ja erreichen, dass der Eintrag von [0] in den [1] geht, der von [1] in den [2] und so weiter.

Mit deinem Code geht der jetzt aber hin und lässt [0] in [0] und [1] in [1] usw. und löscht danach den [0]er. Damit geht mir ja dann ein Eintrag verloren.

Dann doch lieber den etwas längeren Text. Trotzdem THX!

 
Titus
09-01-2002, 19:39 
 
Schau noch mal genauer hin:

$sammlung = explode(',',",$sammlung");

Das Komma vor $sammlung sorgt dafür, dass auf Index 0 ein leeres Element entsteht.

 
TobiaZ
09-01-2002, 19:49 
 
Werds mal checken!


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:16 Uhr.