İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Web Programlama (PHP, ASP, HTML, CSS, JavaScript)
Web Programlama (PHP, ASP, HTML, CSS, JavaScript)

Php ile ilgili basit bir soru

mcb7701.02.20106 cevap3.671 görüntüleme
2009'den beri85 mesaj
#1
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
Cevaplar
2007'den beri6.903 mesaj
#2
Selamlar.

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.
2009'den beri3.494 mesaj
#3
Ya da,

for($i=1; $i<5; $i++) { 
for($j=1; $j<=$i; $j++)
echo "*";
echo "<br/>";
}
2009'den beri621 mesaj
#4
Çeşitli alternatifler olabilir tabiki.
bu da benden :)


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

2007'den beri6.903 mesaj
#5
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 Konuyu açan
2009'den beri85 mesaj
#6
Cevaplar için herkese teşekkür ederim. :)
2009'den beri532 mesaj
#7

<?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.

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.