-
Üyelik
17.10.2013
-
Yaş/Cinsiyet
28 / E
-
Meslek
Öğrenci
-
Konum
İzmir
-
Ad Soyad
B** E**
-
Mesajlar
556
-
Beğeniler
45 / 32
-
Ticaret
1, (%100)
Hocalarım kitap da aldım fakat şu nalet olsa fonksiyonları anlmıyorum tam olarak necidir recursive dizi fonksiyonları ne işe yarar nerelerde kullanılır ?
-
Üyelik
31.01.2014
-
Yaş/Cinsiyet
37 / E
-
Meslek
Webmaster
-
Konum
Kayseri
-
Ad Soyad
M** A**
-
Mesajlar
69
-
Beğeniler
5 / 21
-
Ticaret
0, (%0)
Nasıl anlatsam bilemedim ama fonksiyonu bir kola makinası gibi düşün bir taraftan para atarsın diğer taraftan sonuç olarak sana kola gelir.
Yani;
function KolaVer($para){
if($para==2){
return 'Kola Verildi.';
}else{
return 'Parasal problem var kola veremiyoruz.';
}
}
Örneğin yukarda kolaver adında bir fonksiyon tanımladık.Fonksiyonun bizden tek istediği $para geri kalan işlemleri kendi yapıyor.
Kullanımı ise;
Buda 2 den başka hangi değer olursa kola vermez.
echo KolaVer(2);
recursive dizi fonksiyonlarına örnek verecek olursak;
function KolaVer($para){
if($para==2){
return 'Kola Verildi.';
}elseif($para>2){
$yaripara = $para/2;
return Kolaver($yaripara);
}else{
return 'Parasal problem var kola veremiyoruz.';
}
}
Yukarıdaki örnek biraz saçma ama bu saatte anca bu kadar anlatabildim.Para değerimiz 2 den büyükse paranın yarısını KolaVer() fonksiyonunda yeniden baktırıyoruz.Burda da kola verebilmesi için saçma ama 2 nin katları olması lazım. Kodları bir incele bakalım umarım anlatabilmişimdir.Sormaktan çekinme müsait oldukça anlatmaya çalışırım hatta aklıma daha iyi bir örnek gelirse veririm.
1 kişi bu mesajı beğendi.
PHP, Python, Javascript, C#, React-Native
-
Üyelik
17.10.2013
-
Yaş/Cinsiyet
28 / E
-
Meslek
Öğrenci
-
Konum
İzmir
-
Ad Soyad
B** E**
-
Mesajlar
556
-
Beğeniler
45 / 32
-
Ticaret
1, (%100)
function KolaVer($para){
if($para==2){
return 'Kola Verildi.';
}elseif($para>2){
$yaripara = $para/2;
return Kolaver($yaripara);
}else{
return 'Parasal problem var kola veremiyoruz.';
}
}
hocam burası beni bitirdi nedir bu :D
-
Üyelik
10.10.2011
-
Yaş/Cinsiyet
- / E
-
Meslek
Öğrenci
-
Konum
-
Ad Soyad
** **
-
Mesajlar
308
-
Beğeniler
27 / 39
-
Ticaret
9, (%100)
Daha sistemli ve sonradan düzenlenebilir bir kodlama için fonksiyon ve sınıf kullanımı zorunlu gibi birşeydir. Fonksiyon ne işe yarar diye düşünmek yerine hocam ne olduğunu az çok kavrayın zaten php projelerinizde ihtiyaç hissedeceksiniz.
-
Üyelik
31.01.2014
-
Yaş/Cinsiyet
37 / E
-
Meslek
Webmaster
-
Konum
Kayseri
-
Ad Soyad
M** A**
-
Mesajlar
69
-
Beğeniler
5 / 21
-
Ticaret
0, (%0)
Nefes adlı üyeden alıntı
function KolaVer($para){
if($para==2){
return 'Kola Verildi.';
}elseif($para>2){
$yaripara = $para/2;
return Kolaver($yaripara);
}else{
return 'Parasal problem var kola veremiyoruz.';
}
}
hocam burası beni bitirdi nedir bu :D
Dediğim gibi saçma ve basite indirgenmiş şekilde yazdım :)
2 den büyükse yarısını alarak tekrar fonsiyona sok ve kontrol et oluyo :D
PHP, Python, Javascript, C#, React-Native
-
Üyelik
17.10.2013
-
Yaş/Cinsiyet
28 / E
-
Meslek
Öğrenci
-
Konum
İzmir
-
Ad Soyad
B** E**
-
Mesajlar
556
-
Beğeniler
45 / 32
-
Ticaret
1, (%100)
Peki hocam bunu direk if ile yapsak olmaz mı illaha fonksiyon mu gerekli ?
-
Üyelik
26.03.2014
-
Yaş/Cinsiyet
29 / E
-
Meslek
Emekli Öğrenci
-
Konum
İstanbul Avrupa
-
Ad Soyad
M** Ş**
-
Mesajlar
1398
-
Beğeniler
283 / 283
-
Ticaret
240, (%100)
fonksiyonu bir kıyma makinesi gibi düşün.Et'e x de.Makineye f() fonksiyonu de.Eti makinenin içine atıyoruz ve çıkan ürün yani kıyma da f(x) oluyor. :).
Memleket mi, yıldızlar mı, gençliğim mi daha uzak?
-
Üyelik
17.10.2013
-
Yaş/Cinsiyet
28 / E
-
Meslek
Öğrenci
-
Konum
İzmir
-
Ad Soyad
B** E**
-
Mesajlar
556
-
Beğeniler
45 / 32
-
Ticaret
1, (%100)
function KolaVer($para){
if($para==2){
return 'Kola Verildi.';
}elseif($para>2){
$yaripara = $para/2;
return Kolaver($yaripara);
}else{
return 'Parasal problem var kola veremiyoruz.';
}
}
hocam peki $para yerine $deneme yi sisteme koymak istiyorum bu sefer de fonksiyondaki $parayı silip denememe mi yazacam e o zaman $parayı fonksiyondan çıkarmış olmaz mıyız ben ikisini hatta varsa daha çok değişkeni aynı fonksiyona sokmak istiyorum peki nasıl olacak ?
Ek Olarak: Hocalar dediklerini anladım şöyle bir kod yazdım ben $et degiskenine string bir ifade girdiğimde else kodunu çalıştırmıyor neden ?
function et($et) {
if ($et>=5) {
# code...
return "et kiyma islemine geciyor...";
}
elseif ($et<5) {
# code...
return "lütfen daha fazla et giriniz.";
}
else {
# code...
return "kullanilmayan bir ifade girildi.";
}
}
$sonuc = et();
echo "$sonuc";
Ek Olarak: Sorunu çözdüm hocalar kusura bakmaıyn :)
-
Üyelik
31.01.2014
-
Yaş/Cinsiyet
37 / E
-
Meslek
Webmaster
-
Konum
Kayseri
-
Ad Soyad
M** A**
-
Mesajlar
69
-
Beğeniler
5 / 21
-
Ticaret
0, (%0)
Fonksiyon kullanmadan da çalışabilirsin tabi fonksiyonlar sadece senin işini hafifletir ve kod kalabalığını azaltır.
Örneğin sayfanın bir kaç yerinde Kullanıcı adını yazdıracaksın veya id ye göre kullanıcı adı bulacaksın bunun için veritabanından çekme işlemi için her yerde aynı kodlamayı yapman gerek.Bu uzun işlemi kısaltmak için fonsiyonlar var.
function UyeAdi($id){
/*Veritabanı işlemlerin*/
return $kullanici;
}
Umarım anlatabilmişimdir.
Ek Olarak:
Nefes adlı üyeden alıntı
function KolaVer($para){
if($para==2){
return 'Kola Verildi.';
}elseif($para>2){
$yaripara = $para/2;
return Kolaver($yaripara);
}else{
return 'Parasal problem var kola veremiyoruz.';
}
}
hocam peki $para yerine $deneme yi sisteme koymak istiyorum bu sefer de fonksiyondaki $parayı silip denememe mi yazacam e o zaman $parayı fonksiyondan çıkarmış olmaz mıyız ben ikisini hatta varsa daha çok değişkeni aynı fonksiyona sokmak istiyorum peki nasıl olacak ?
Ek Olarak: Hocalar dediklerini anladım şöyle bir kod yazdım ben $et degiskenine string bir ifade girdiğimde else kodunu çalıştırmıyor neden ?
function et($et) {
if ($et>=5) {
# code...
return "et kiyma islemine geciyor...";
}
elseif ($et<5) {
# code...
return "lütfen daha fazla et giriniz.";
}
else {
# code...
return "kullanilmayan bir ifade girildi.";
}
}
$sonuc = et();
echo "$sonuc";
Ek Olarak: Sorunu çözdüm hocalar kusura bakmaıyn :)
Ek olarak fonksiyonu bu şekilde çağıramazsın içerisine et tanımlaman gerekiyor.
$sonuc = et();
yerine
$sonuc = et(10);
veya o şekilde de çalışabilmesi için fonksiyonu şu hale getirmelisin ;
function et($et=10){
/*.....*/
}
yani et tanımlaması yapılmadıysa 10 kabul et demektir bu.
1 kişi bu mesajı beğendi.
PHP, Python, Javascript, C#, React-Native