Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Auf letzten foreach-Durchlauf prüfen.

Diskussion: Auf letzten foreach-Durchlauf prüfen. im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo, nochmal. Mal wieder geht's um php. Ich habe hier ein assoziatives array, das ich mit foreach durchlaufen möchte, ...

Antwort
Alt 24.02.07, 19:20   #1 (permalink)
 
Registriert seit: 08.12.06
jesus Leistung: Facit NTK
Likes: 0
Auf letzten foreach-Durchlauf prüfen.

Anzeige

Hallo, nochmal. Mal wieder geht's um php.

Ich habe hier ein assoziatives array, das
ich mit foreach durchlaufen möchte, wo
jedes Element einmal mit einem <br> dran ausgegeben
wird. Bei der letzten Ausgabe soll kein <br> dran.

PHP-Code:
$arr = array(
    
'eintrag1' => 'hallo',
    
'eintrag2' => 'tschüss',
    
'eintrag3' => 'man sieht sich'); // assoziatives array

// Elemente ausgeben.
echo '<p>';
foreach (
$arr as $ausg)
{
    echo 
$ausgb;
    if (!
feof()) echo '<br>';
}
echo 
'</p>'
Nun, mit feof() kann man natürlich nicht prüfen, ob es sich um
den letzten Durchlauf handelt, kennt jemand aber vll so eine
Funktion?

Ich möchte for dem foreach auf jedenfall keine Int-Variable
mit der Anzahl der Elemente definieren und eine int-Variable
als Zähler, dass wenn dieser erreicht wird, kein <br>
eingefügt wird.

Es geht mir darum, das so kurz wie möglich zu gestalten...

Das hier ist jetzt das kürzeste, das ich hinbekommen habe

PHP-Code:
$arr = array(
    
'eintrag1' => 'hallo',
    
'eintrag2' => 'tschüss',
    
'eintrag3' => 'man sieht sich'); // assoziatives array

// Elemente ausgeben.
$a count($arr);
$b 0;
echo 
'<p>';
foreach (
$arr as $asgV)
{
    echo 
$asgV;
    if (++
$b $a) echo '<br>';
}
echo 
'</p>'
Sieht aber nicht gerade schön aus...
jesus ist offline   Mit Zitat antworten
Alt 24.02.07, 19:24   #2 (permalink)
 
Registriert seit: 30.03.06
webfreak Leistung: Facit NTK
Likes: 0
Standard RE: [php] Auf letzten foreach-Durchlauf prüfen.

Ich fürche dass es nicht anders gehen wird...
webfreak ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 24.02.07, 19:26   #3 (permalink)
Themenstarter
 
Registriert seit: 08.12.06
jesus Leistung: Facit NTK
Likes: 0
Standard

ja dann halt nich, ist ja nur ne Sache von unschönem Code.

P.S. zu deiner Sig: Hab Blip and Blop im übrigen auch durchgespielt, schön krank.
Zum Schluss musste Mario töten. lol
jesus ist offline   Mit Zitat antworten
Alt 24.02.07, 19:28   #4 (permalink)
 
Registriert seit: 30.03.06
webfreak Leistung: Facit NTK
Likes: 0
Standard

Auch wenns hier nichts zu suchen hat: ja, krank ist es^^
webfreak ist offline   Mit Zitat antworten
Alt 24.02.07, 19:35   #5 (permalink)
LX
Moderator
 
Registriert seit: 14.02.06
LX Leistung: Z3
LX eine Nachricht über ICQ schicken LX eine Nachricht über AIM schicken LX eine Nachricht über Yahoo! schicken
Likes: 21
Lightbulb

Wie wär's denn, wenn du nicht hinter jedem außer dem letzten Durchlauf einen Umbruch einfügst, sondern vor allen außer dem ersten. Dann geht's recht simpel mit:

PHP-Code:
$first true;
foreach (
$arr as $ausg)
{
    if ( !
$first )
        echo 
'<br/>';
    else
        
$first false;

    echo 
$ausg;

__________________
"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

JS BB LX UP
LX ist offline   Mit Zitat antworten
Alt 24.02.07, 19:36   #6 (permalink)
 
Registriert seit: 30.03.06
webfreak Leistung: Facit NTK
Likes: 0
Standard

Sehr speicherintensiv wenn in jedem Durchlauf eine IF-Abfrage ist...
webfreak ist offline   Mit Zitat antworten
Alt 24.02.07, 19:39   #7 (permalink)
LX
Moderator
 
Registriert seit: 14.02.06
LX Leistung: Z3
LX eine Nachricht über ICQ schicken LX eine Nachricht über AIM schicken LX eine Nachricht über Yahoo! schicken
Likes: 21
Standard

Speicherintensiv? WTF? Das ist eine beknackte BOOL-Variable, die belegt... lass mich rechnen... 1 Bit

Wenn du die Performanz meinst, die wird davon nicht wesentlich beeinflusst. Zudem ist das die schnellste Methode, denn ein einzelnes Bit zu prüfen ist wohl wesentlich weniger aufwendig als Längenberechnungen von Arrays und das Hochzählen von Counter-Variablen.
__________________
"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

JS BB LX UP
LX ist offline   Mit Zitat antworten
Alt 24.02.07, 19:48   #8 (permalink)
Senior Member
 
Registriert seit: 03.09.05
Lesco Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von LX
Speicherintensiv? WTF? Das ist eine beknackte BOOL-Variable, die belegt... lass mich rechnen... 1 Bit
Normalerweise ist das 1 Byte, da sich 1 Bit auf den meisten Architekturen schlecht addressieren lässt(bzw. die Variable die den Rest des Bytes nutzen würde)
Lesco ist offline   Mit Zitat antworten
Alt 25.02.07, 15:13   #9 (permalink)
Themenstarter
 
Registriert seit: 08.12.06
jesus Leistung: Facit NTK
Likes: 0
Standard

Ja, LX. Das ist eine schöne Lösung. Danke
jesus ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » Auf letzten foreach-Durchlauf prüfen.
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Erhöhtes Spamaufkommen seit den letzten Tagen SilentBoB Spiced Pork and Ham - Spam & seine Brüder 9 13.04.09 13:32
aktive Themen der letzten 24h Snake? Hackerboard.de-Feedback 5 03.02.08 19:06
[SQl] Anzahl der Beiträge mit timestamp des letzten abrufen. Friedrich Code Kitchen 9 08.12.07 23:24
[php] Auf letzten foreach-Durchlauf prüfen. jesus Code Kitchen 8 25.02.07 15:13
Sound u. Grafikkarte des letzten Aldi PC's Flou Off topic-Zone 4 30.03.02 14:59


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61