For Each und Wertezuweisung
Daniel
- php
0 Daniel0 Danny0 Daniel
0 Andreas Korthaus0 Daniel
Hallo Forum,
ich habe eine kleine Funktion geschrieben, die es ermöglichen soll, dass ein Text eingelesen wird und dann jedes Wort auf Länge geprüft wird. Wenn es zu lang ist, dann wird dieses Wort mit Wordwrap bearbeitet.
10:function limit_text($text,$maxchar){
20: $split = explode(" ",$text);
30: foreach ($split as $val)
40: {
50: $val = wordwrap($val, $maxchar, "<br>", 1);
60: }
70: $new = implode(" ", $split);
80:return $new;
90:}
Naja ich kenn das Problem, dass man angeblich (oder auch ganz bestimmt laut http://www.php.net/manual/de/control-structures.foreach.php;)) das Array in einer Foreach-Schleife nicht ändern kann. Geht das vielleicht doch? Oder muss ich mir erst die Größe des Arrays ausgeben lassen und dann in einer for schleife das Array ändern? Ich persönlich finde nämlich eine foreach-schleife durchaus übersichtlicher.
Wenn ich nach Zeile 50 ein echo $val; mache, dann erscheint das Ergebnis so wie ich es haben möchte.
Ich hoffe ich habe mich klar und verständlich genug ausgedrückt.
Bis dann und danke für eure Hilfe
Daniel
Hallo Leute,
also manchmal muss ich echt sagen, steht man sich selbst im Weg und muss das Problem einfach mal formulieren... vielleicht muss man mal doch etwas mehr nachdenken, bevor man hier postet. Sorry.
Also ich habe es jetzt gelöst, indem ich ein neues Array erstellt habe.
10:function limit_text($text,$maxchar){
20: $split = explode(" ",$text);
30: foreach ($split as $val)
40: {
50: $val = wordwrap($val, $maxchar, "<br>", 1);
60: $new[] = $val;
70: }
80: $new = implode(" ", $new);
90:return $new;
100:}
Allerdings würde mich trotzdem interessieren, ob ich irgendwie mit $val das $split überschreiben kann.
Bis dann und noch einmal Entschuldigung für das schnelle Posten
Daniel
Hi Daniel,
ich glaube, mit Referenz-Angabe (&) vor der Var ist das möglich, also etwa foreach ($werte as &$wert) oder so.
Gruß,
Danny
Hi Danny,
also ne Referenz wäre ne Idee... habe allerdings nicht über Referenzen bei php gefunden.
und das beispiel funktioniert nicht.
Trotzdem danke
Daniel
Hi!
Allerdings würde mich trotzdem interessieren, ob ich irgendwie mit $val das $split überschreiben kann.
Warum willst Du das tun?
Grüße
Andreas
Aloha !
Warum willst Du das tun?
Das ist allerdings eine gute Frage. Naja das ganze in ein neues Array zu schreiben ist zwar gut, aber muss ja nicht sein. Naja man muss ja nicht noch mehr Variablen deklarieren, als man überhaupt muss.
Bis denne
Daniel