Php ile ilgili basit bir soru

Bu konuyu okuyanlar

mcb77

SDN Okuru
Katılım
27 Eylül 2009
Mesajlar
85
Reaksiyon puanı
2
Puanları
0
Merhabalar. Arkadaşım bana şu soru ile geldi ancak nasıl yapacağımı bir türlü bulamadım.Yardımcı olursanız sevinirim.

Soru :

*
**
***
****
*****

Yukarıdaki görüntüyü ekrana yazdıracak programı PHP kodlama ile yazınız.
----------------------------------------------------------------------

Mantık olarak önce for döngüsüyle 1 den 5 e kadar yazdırmayı düşündüm. Her satırda artacağı için ona göre yıldız işareti konulabilir şeklinde bir düşüncem vardı ancak onu koda dökemedim.

Hala üzerinde uğraşmaya devam ediyorum. Yardımcı olursanız çok sevinirim.

Şimdiden teşekkürler
 

Turab Garip

Dekan
Emektar
Katılım
30 Mayıs 2007
Mesajlar
6,887
Reaksiyon puanı
175
Puanları
63
Selamlar.

PHP:
for ($i = 1; $i <= 5; $i++)
    echo str_repeat('*', $i) . '<br />';

Açıklama: for ile 1 - 5 arası sayılarla yaratılmış olan döngü, her seferinde str_repeat fonksiyonunu çalıştırarak ekrana o anki döngü sıra numarası kadar yıldız (*) işaretini yazdıracaktır, ardından bir satır atlama (br) yapacaktır. Yani, birinci satırda bir yıldız ve bir alt satıra geçiş, ikinci satırda iki yıldız ve bir alt satıra geçiş, üçüncü satırda üç yıldız ve bir alt satıra geçiş... derken 5'e kadar devam eder.
 

penguin

Profesör
Katılım
11 Haziran 2009
Mesajlar
3,494
Reaksiyon puanı
201
Puanları
63
Ya da,
PHP:
for($i=1; $i<5; $i++) { 
for($j=1; $j<=$i; $j++)
echo "*";
echo "<br/>";
}
 

erhandenizz

Doçent
Katılım
28 Şubat 2009
Mesajlar
621
Reaksiyon puanı
2
Puanları
18
Çeşitli alternatifler olabilir tabiki.
bu da benden :)

PHP:
for ($a=1;$a<=5;$a++)
{
echo substr("*****",0,$a)."<br>";
}
 

Turab Garip

Dekan
Emektar
Katılım
30 Mayıs 2007
Mesajlar
6,887
Reaksiyon puanı
175
Puanları
63
Ben de ilk başta penguin kardeşin yazdığı şekilde yazdım fakat iç içe for döngülerinin 5 satır için gereğinden fazla dönüş sayısı yaratmasından ötürü vazgeçtim. Ayrıca hem penguin kardeşin yazdığı kodda hem de erhandenizz kardeşin yazdığı kodda yıldız sayısı arttıkça performansta düşüş ve kodun çalışma hızında azalma olur.

Yine de 5 yıldız için bu kodlardan herhangi biri kullanılabilir, performans farkı dediğime bakmayın çok küçük rakamlar fark ediyor. :) Sadece programcılık açısından değerlendirdiğimde bir programın genel performansına etkilerini en aza indirgemek için söylüyorum.
 

mcb77

SDN Okuru
Katılım
27 Eylül 2009
Mesajlar
85
Reaksiyon puanı
2
Puanları
0
Cevaplar için herkese teşekkür ederim. :)
 

byyasin

Doçent
Katılım
24 Ağustos 2009
Mesajlar
532
Reaksiyon puanı
5
Puanları
18
PHP:
<?php 
$yildiz="";
for($i=1;$i<=5;$i++)
{
$yildiz.="*";
echo $yildiz."<br>";
}
?>

Bende maksat php nin esnekliğini göstermek olduğu için yazdım bitane :)
Yukardakilerden en mantıklısı str_repeat ile yapılandır.
 
Üst