Hét vraag- en antwoordplatform van Nederland

Hoe kan ik een "diamant" maken in PHP?

Voor onze lessen in PHP moeten we een soort van diamant maken met *-tekens. Ik heb de eerste helft al maar kom er niet op hoe ik de andere moet doen.

Dit is de code voor de bovenste helft.

echo "

";
$x = "*";
echo $x . "
";
for($a = 1; $a <= 11; $a++){
$x .= "*";
echo $x;
echo "
";
}
echo "
";

De andere helf zou moeten met de functies "strlen" en "substr" moeten. Dat is mijn probleem zo een beetje omdat ik het maar niet vindt hoe ik dit kan gebruiken voor de andere helft. (if, else, and, or en for-loops mogen ook).

Verwijderde gebruiker
13 jaar geleden
769
Verwijderde gebruiker
13 jaar geleden
Als het voor je lessen PHP is dan is het de bedoeling dat je ZELF een oplossing zoekt.
Je kunt wel argumenteren dat "een ander jouw klus geven" ook een oplossing is, maar dat is niet de bedoeling van lessen in PHP volgen. Vind je het geen uitdaging om het zelf op te lossen ?

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Het beste antwoord

Om jouw code af te maken doe je dit:


echo "
";

$x = "*";
echo $x . "
";

for($a = 1; $a <= 11; $a++){
$x .= "*";
echo $x;
echo "
";
}

for($a = 11; $a >= 1; $a--){
$x = substr($x,0,strlen($x)-1);
echo $x;
echo "
";
}

echo "
";





Succes ermee!
(Lees meer...)
Verwijderde gebruiker
13 jaar geleden

Andere antwoorden (1)

Bedoel je een diamant zoals in het engels, dus een ruit? Dat zou ik zo doen:

echo "
";
$maxcount = 5;
for($a = 0; $a <= $maxcount; $a++){
echo str_repeat("*", 2*$a+1)."
";
}
for($a = $maxcount-1; $a >= 0; $a--){
echo str_repeat("*", 2*$a+1)."
";
}
echo "
";

Speel eens met maxcount op 20 zetten ofzo...!
(Lees meer...)
Verwijderde gebruiker
13 jaar geleden
Verwijderde gebruiker
13 jaar geleden
Volgens mij zit je die jongen of dat meisje z'n/d'r huiswerk te doen. Dat lijkt me niet de bedoeling van GV. Eerlijk gezegd. Hoe mooi je code ook is :-)
Verwijderde gebruiker
13 jaar geleden
Je hebt een punt, maar de vraagsteller zit overduidelijk vast na het zelf geprobeerd te hebben. Programmeren kun je goed leren door voorbeelden te bekijken. Ik hoop dat hij/zij een poging doet om de code te begrijpen. Er zijn inderdaad veel lui die zich programmeur noemen omdat ze goed codefragmenten van een ander kunnen copy/pasten. Nou voor de sport, kunnen we er 1 for-loop van maken? ;-)
Verwijderde gebruiker
13 jaar geleden
echo "
";
$maxcount = 5;
for($a = -$maxcount; $a <= $maxcount; $a++){
echo str_repeat("*", 2*($maxcount-abs($a))+1)."
";
}
echo "
";
Verwijderde gebruiker
13 jaar geleden
Mijn huiswerk wordt hier helemaal niet gemaakt. Ik kon even goed wachten tot in de les. Maar ik wist echt niet verder. Ik snapte niet volledig hoe ik de substr en strlen kon gebruiken voor die bepaalde oefening. Nu dat ik de juiste code zie kan ik het beter begrijpen en de volgende keer zelf oplossen. Ik ben er trouwens niet voor dat iemand anders mijn huiswerk maakt. Ik leer er toch niets uit. En PHP wil ik eigenlijk echt wel leren. Bedankt voor de code!

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 5000
Gekozen afbeelding