Bekommt man aus einem FOREACH den Index des Arrays raus?
EmmJay
- perl
Die Frage steht ja im Prinzip schon in der Überschrift...
Ich habe also eine FOREACH-Schleife über einen Array und ich würde gerne neben dem Inhalt des Arrays auch jeweils den dazugehörigen Index auslesen. Geht das? Und wenn ja, wie?
(Ich mein, ich könnte natürlich auch eine FOR-Schleife über die Länge des Arrays machen, dann hätte ich ja den Index direkt mit dabei, aber das ist ja nicht so elegant, als würde ich direkt FOREACH benutzen.)
Danke auf jeden Fall schonmal für die Antwort!
Hallo,
Ich habe also eine FOREACH-Schleife über einen Array und ich würde gerne neben dem Inhalt des Arrays auch jeweils den dazugehörigen Index auslesen. Geht das? Und wenn ja, wie?
RTFM.
http://www.php.net/manual/de/control-structures.foreach.php
foreach ($arr as $key => $value)
{
echo "Schlüssel: $key; Wert: $value<br />\n";
}
mfg
Thomas
Hallo,
RTFM.
Sorry, sorry, sorry!
Ich bin so sehr auf PHP fixiert, dass ich uebersehen hatte,
dass Du von Perl sprichst. Tut mir leid.
Ich gehe in mich. ;-)
Hoffentlich kriegst Du noch eine brauchbare Antwort
von jemandem, der sich mit Perl auskennt!
Freundliche Gruesse + einen schoenen Abend,
Thomas
hallo mj,
perl ist meine lieblings-sprache, musste aber in letzter
zeit auch viel mit php machen. bei dem zaehler habe ich mir
so weiter geholfen:
$Zaehler = 1 ;
foreach $Wert ( @Array ) {
print "$Zaehler: Wert\n" ;
$Zaehler+=1 ;
}
hth, gruss vom bodensee, michael
hallo @all,
na wo habe ich mich vertippt, wer es zuerst bemaekelt
bekommt einen punkt von mir (plus oder minus? :-) gruss,
michael
use Mosche;
na wo habe ich mich vertippt, wer es zuerst bemaekelt
bekommt einen punkt von mir (plus oder minus? :-) gruss,
Ich verstehe nicht wirklich, warum du scalar(@Array)-mal den String "Wert\n" ausgeben willst...
Ein Blick in 'perldoc perlstyle' könnte deinem Code aber weitrehelfen...
use Tschoe qw(Matti);
Hi,
Schwer zu bemerken ($), aber ich persönlich sehe auch keinen Vorteil darin, extra neue Variablen anzupatzen.
Desweiteren fängt ein Index üblicherweise bei Null an.
$i = 0;
foreach(@Array) {
print "$i: $_\n";
$i++;
}
Markus Trusk.
@Markus,
yo, iss klar, ich habe mich etwas verkuenstelt um das
verstehen zu vereinfachen und die idee dahinter hervorzuheben.
thx anyway, michael
Ich habe also eine FOREACH-Schleife über einen Array und ich würde gerne neben dem Inhalt des Arrays auch jeweils den dazugehörigen Index auslesen. Geht das? Und wenn ja, wie?
Nein.
Es kommt darauf an was du damit machen willst. Wenn du diesen wirklich nur als Zähler brauchst, dann bleibt dir nur die Lösung einer zusätzlichen Variabel.
my $index = 0;
foreach(@array)
{
++$index;
}
Struppi.