php: führende 0 bei for-Schleifen mit dazu

T

the_sacrificer

Gast
php: führende 0 bei for-Schleifen mit dazu

Guten Tag,

wenn ich eine Schleife hochzählen lasse, dann wird natürlich standardmäßig
1
2
3
...
ausgegeben.
Kann ich irgendwie eine 0 davor erzwingen, also
01
02
03
...
?

Grüße
 

spiderman0171

Erfahrener Benutzer
Mitglied seit
26.04.2003
Beiträge
113
Reaktionspunkte
0
AW: php: führende 0 bei for-Schleifen mit dazu

the_sacrificer am 20.04.2007 14:03 schrieb:
Guten Tag,

wenn ich eine Schleife hochzählen lasse, dann wird natürlich standardmäßig
1
2
3
...
ausgegeben.
Kann ich irgendwie eine 0 davor erzwingen, also
01
02
03
...
?

Grüße
Mach doch einfach eine If-Abfrage nach dem Motto:

if $zähler < 10
{
echo "0".$zähler;
}
else
{
echo $zähler;
}
 
TE
T

the_sacrificer

Gast
AW: php: führende 0 bei for-Schleifen mit dazu

spiderman0171 am 20.04.2007 14:09 schrieb:
danke für die schnelle Antwort.
Nun hab ich noch ein Problem:

Ich will, dass das Jahr 2009 vorselektiert im dropdown erscheint. Versucht habe ich es hiermit:
Code:
$year = 2009;

echo("

<select name=\\"date_y\\">

	");
	
for ($i=2007; $i<2017; $i++)
	{
	echo("	<option value=\\"$i\\"	");
	
		if($year == $i)
			{
			echo(" selected");
			}
	
	echo("	>$i</option>	");
	}
	
echo("

</select>

");

Leider bleibt es immer auf 2007.
Wo liegt mein Fehler?

edit: hat sich, es stimmt, nur will der FF nicht :(
 

spiderman0171

Erfahrener Benutzer
Mitglied seit
26.04.2003
Beiträge
113
Reaktionspunkte
0
AW: php: führende 0 bei for-Schleifen mit dazu

Also hab folgendes bei mir versucht:
$year = 2009;
<?php
echo("

<select name=\"date_y\">

");

for ($i=2007; $i<2017; $i++)
{
echo(" <option value=\"$i\" ");

if($year == $i)
{
echo(" selected");
}

echo(" >$i</option> ");
}

echo("

</select>

");
?>

Das hat auch funktioniert und 2009 wurde auch Voerselektiert.

btw. Wieso machst du ein doppeltes escapen? also z.B:
<option value=\\"$i\" ");

Gruß der Spidy

edit: Genau genommen hab ich nix verändert wie du bemerkt hast, ausser eben die doppelten Backslashs entfernt, die bei mir nicht funktionieren. :B
 
TE
T

the_sacrificer

Gast
AW: php: führende 0 bei for-Schleifen mit dazu

spiderman0171 am 20.04.2007 16:39 schrieb:
Das hat auch funktioniert und 2009 wurde auch Voerselektiert.

btw. Wieso machst du ein doppeltes escapen? also z.B:
<option value=\\"$i\" ");

Gruß der Spidy

edit: Genau genommen hab ich nix verändert wie du bemerkt hast, ausser eben die doppelten Backslashs entfernt, die bei mir nicht funktionieren. :B
Vllt liegt es an dem vielen Bier gestern Abend oder den 3 Stunden schlechten Schlaf, oder den 1 1/2h Autofahrt gerade, aber ich kann bei mir bei bestem Willen kein doppelten Backslash finden :B
Und viel misteriöser ist, dass ein Skript über nacht plötzlich funktioniert, obwohl ich rein gar nichts daran geändert hab...
 

marky68

Bekanntes Gesicht
Mitglied seit
17.04.2001
Beiträge
413
Reaktionspunkte
0
AW: php: führende 0 bei for-Schleifen mit dazu

spiderman0171 am 20.04.2007 14:09 schrieb:
Mach doch einfach eine If-Abfrage nach dem Motto:

if $zähler < 10
{
echo "0".$zähler;
}
else
{
echo $zähler;
}


einfacher:
Code:
echo str_pad($i,2,"0",STR_PAD_LEFT);
wenn $i die schleifenvariable ist.
 
Oben Unten