folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Php Fonksiyonda İf Yerine Daha Kolay Ne Olabilir



Php Fonksiyonda İf Yerine Daha Kolay Ne Olabilir

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    arkinfes
    arkinfes's avatar
    Kayıt Tarihi: 07/Haziran/2007
    Erkek

    Herkese merhaba,

    İlk öncelikle mesleğim ya da eğitimim php üzerine değil hatta yazılımla alakasız eğitim aldım. Sadece php ile uğraşmak hoşuma gidiyor kafamı dağıtıyor.

    Konuya gelelim

    yaşadığı şehir diye form elemanım var burada listeden seçilebiliyor ben de bir şekilde bu listedeki şehirler harici bir post gönderirlerse engellemek için şöyle bir fonksiyon yazdım.

    function SehirKontrol($a){
        $sehir=$a;
    if (  
    $sehir == "Türkiyede yaşamıyorum" OR
    $sehir == "Adana" OR
    $sehir == "Adıyaman" OR
    $sehir == "Afyonkarahisar" OR
    $sehir == "Ağrı" OR
    $sehir == "Amasya" OR
    $sehir == "Ankara" OR
    $sehir == "Antalya" OR
    $sehir == "Artvin" OR
    $sehir == "Aydın" OR
    $sehir == "Balıkesir" OR
    $sehir == "Bilecik" OR
    $sehir == "Bingöl" OR
    $sehir == "Bitlis" OR
    $sehir == "Bolu" OR
    $sehir == "Burdur" OR
    $sehir == "Bursa" OR
    $sehir == "Çanakkale" OR
    $sehir == "Çankırı" OR
    $sehir == "Çorum" OR
    $sehir == "Denizli" OR
    $sehir == "Diyarbakır" OR
    $sehir == "Edirne" OR
    $sehir == "Elazığ" OR
    $sehir == "Erzincan" OR
    $sehir == "Erzurum" OR
    $sehir == "Eskişehir" OR
    $sehir == "Gaziantep" OR
    $sehir == "Giresun" OR
    $sehir == "Gümüşhane" OR
    $sehir == "Hakkâri" OR
    $sehir == "Hatay" OR
    $sehir == "Isparta" OR
    $sehir == "Mersin" OR
    $sehir == "İstanbul" OR
    $sehir == "İzmir" OR
    $sehir == "Kars" OR
    $sehir == "Kastamonu" OR
    $sehir == "Kayseri" OR
    $sehir == "Kırklareli" OR
    $sehir == "Kırşehir" OR
    $sehir == "Kocaeli" OR
    $sehir == "Konya" OR
    $sehir == "Kütahya" OR
    $sehir == "Malatya" OR
    $sehir == "Manisa" OR
    $sehir == "Kahramanmaraş" OR
    $sehir == "Mardin" OR
    $sehir == "Muğla" OR
    $sehir == "Muş" OR
    $sehir == "Nevşehir" OR
    $sehir == "Niğde" OR
    $sehir == "Ordu" OR
    $sehir == "Rize" OR
    $sehir == "Sakarya" OR
    $sehir == "Samsun" OR
    $sehir == "Siirt" OR
    $sehir == "Sinop" OR
    $sehir == "Sivas" OR
    $sehir == "Tekirdağ" OR
    $sehir == "Tokat" OR
    $sehir == "Trabzon" OR
    $sehir == "Tunceli" OR
    $sehir == "Şanlıurfa" OR
    $sehir == "Uşak" OR
    $sehir == "Van" OR
    $sehir == "Yozgat" OR
    $sehir == "Zonguldak" OR
    $sehir == "Aksaray" OR
    $sehir == "Bayburt" OR
    $sehir == "Karaman" OR
    $sehir == "Kırıkkale" OR
    $sehir == "Batman" OR
    $sehir == "Şırnak" OR
    $sehir == "Bartın" OR
    $sehir == "Ardahan" OR
    $sehir == "Iğdır" OR
    $sehir == "Yalova" OR
    $sehir == "Karabük" OR
    $sehir == "Kilis" OR
    $sehir == "Osmaniye" OR
    $sehir == "Düzce") {
         echo "0"; 
        } else{
            echo "1";
        }
        return;
    }

    Bu fonksiyon yerine daha light bir şey ne yapabilirim?


    Do majör soylu ve açık sözlü , Do minör patetik , Re majör parlak , Re minör melankolik , Mi bemol majör soylu ve patetik , aydinlik ama soylu ve karamsar tonmu lazim ozaman; mi majör , Mi minör doğanin ilk minör tonu olmasina karsin biraz melankoliktir , Fa majör karışıktır , Fa minör hepsinden patetiktir , Fa Diyez majör iste güçtür çünkü degiştirgeçlerle asiri yuklenmistir , Si majör parlak ve oyun bozannn :))
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    İnce Memed
    ComputerWolf
    ComputerWolf's avatar
    Üstün Hizmet Madalyası
    Kayıt Tarihi: 26/Mart/2003
    Erkek

    Hocam bu ne :)

    --> array lookup

     

     

    ComputerWolf tarafından 10/Nis/20 00:12 tarihinde düzenlenmiştir

    Hep denedin. Hep yenildin. Olsun yine dene , yine yenil ama daha iyi yenil !
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    arkinfes
    arkinfes's avatar
    Kayıt Tarihi: 07/Haziran/2007
    Erkek
    ComputerWolf bunu yazdı

    Hocam bu ne :)

    --> array lookup

     

     

    yarım saat belki de daha fazla uğraştım :D :D :D :D 

    edit= sağ ol hocam arraylardan haberim var ama hiç kullanmadım kullandıysam da hazır kullandım

     

    arkinfes tarafından 10/Nis/20 00:15 tarihinde düzenlenmiştir

    Do majör soylu ve açık sözlü , Do minör patetik , Re majör parlak , Re minör melankolik , Mi bemol majör soylu ve patetik , aydinlik ama soylu ve karamsar tonmu lazim ozaman; mi majör , Mi minör doğanin ilk minör tonu olmasina karsin biraz melankoliktir , Fa majör karışıktır , Fa minör hepsinden patetiktir , Fa Diyez majör iste güçtür çünkü degiştirgeçlerle asiri yuklenmistir , Si majör parlak ve oyun bozannn :))
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    İnce Memed
    ComputerWolf
    ComputerWolf's avatar
    Üstün Hizmet Madalyası
    Kayıt Tarihi: 26/Mart/2003
    Erkek

    Yaptığın işin boyutunu bilmiyorum, database işine falan girmiyorum ama en azından bir array içinde şehirlerin olsa daha rahat hareket edersin. İşin performans boyutu da tartışılır.  PHP hiç yazmadım ama illaki bir array search fonksiyonu vardır. Kötü yazmak sorun değil, kodunu iyileştirmen asıl önemli nokta. :)

    https://www.php.net/manual/en/function.array-search.php

     

     

    Hep denedin. Hep yenildin. Olsun yine dene , yine yenil ama daha iyi yenil !
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    hipokondriyak
    hipokondriyak's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek

    select option valuelere sayı verı boyle verı gırısı mantıklı degıl pek

    ek olarak :D

    trde ıyı yazılımcılara bak en ıyı durumdakı yuz yazılımcıdan hangısı okulda php gormus mufradatına bak :) 

    alakalı bolum mezunları arkadaslara sor sektorel yazılım ıle ılgılı okulda ne ogrenmısler Ç:) 

    hipokondriyak tarafından 10/Nis/20 00:35 tarihinde düzenlenmiştir

    Homo sapiens, yaşamak için, diğer canlıların yaşamasına muhtaç; obligat parazit türüdür. "Sen olursan boş bardak , sana olur koyan çok su. a.g."
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yolbulucu
    yolbulucu's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Homo

    hocam her dilde arrayin içinde bir değer varmı kontrol etme yolu vardır, phpde de var.

    bir şehirler arrayın olsun :

    $sehirler = ['adana', 'ankara', vs vs vs];

    bunu kontrol etmek için iki yol var php de. birisi isset.

    if(isset($sehirler[$a])){ //sehir senin listede var} 

    ikincisi array_key_exists: if(array_key_exists($a, $sehirler)){//sehir senin listede var}

    eğer diğer array fonksiyonlarıyla bişeyler yapacaksan dikkat etmen gereken şey, php bazi array fonksiyonları elemanın arraydeki sırasını döndürür. mesela sen array_search("Türkiyede yaşamıyorum", $sehirler) yazdığında "Türkiyede yaşamıyorum" u arrayde aratıp sana onun arraydeki indexini vericek, bu durumda indexi 0. 

    bu durumda sen if(array_search("Türkiyede yaşamıyorum", $sehirler)) dersen false alırsın, çünkü php o sıfırı booleana çeviricek, boolean sıfırda false oluyor. bunun çözümü de üç tane eşittir kullanmak. if(array_search("Türkiyede yaşamıyorum", $sehirler) !== false) gibi.


    29.99cm, titanyum kaplamalı, çift damarlı, su ve yağ soğutmalı.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    garga
    garga's avatar
    Kayıt Tarihi: 29/Temmuz/2002
    Erkek

    MySQL falan ilgini cekerse, oradan hem formundaki listeye cektirebilirsin, hemde bu fonksyonda konrellerini yaptirirsin... Ama DBye hic girmeyek dersen, arraye at bari mq diyorum arkadaslar gibi... Ama Buda calisirmi ? E calisir :P haha


    anca gidersin...
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    function sehirKontrol($girilenSehir)
    {
    $sehirler = array("Türkiyede yaşamıyorum","Adana","Adıyaman","Afyonkarahisar","Ağrı","Amasya","Ankara","Antalya","Artvin","Aydın","Balıkesir","Bilecik","Bingöl","Bitlis","Bolu","Burdur","Bursa","Çanakkale","Çankırı","Çorum","Denizli","Diyarbakır","Edirne","Elazığ","Erzincan","Erzurum","Eskişehir","Gaziantep","Giresun","Gümüşhane","Hakkâri","Hatay","Isparta","Mersin","İstanbul","İzmir","Kars","Kastamonu","Kayseri","Kırklareli","Kırşehir","Kocaeli","Konya","Kütahya","Malatya","Manisa","Kahramanmaraş","Mardin","Muğla","Muş","Nevşehir","Niğde","Ordu","Rize","Sakarya","Samsun","Siirt","Sinop","Sivas","Tekirdağ","Tokat","Trabzon","Tunceli","Şanlıurfa","Uşak","Van","Yozgat","Zonguldak","Aksaray","Bayburt","Karaman","Kırıkkale","Batman","Şırnak","Bartın","Ardahan","Iğdır","Yalova","Karabük","Kilis","Osmaniye","Düzce");
    return (array_search($girilenSehir, $sehirler) === FALSE ? "Yanlış seçim yaptınız": "Tamamdır");
    }

    echo sehirKontrol("Ankara");
    echo sehirKontrol("istanbul");
    echo sehirKontrol("Mesaçüses");


    Olaylara karışmayın!
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    Veriyi gruplamaya ne dersin hocam ? Bir JSON Object yaz ve 1 değer tut. Bu değeri sağlıyorsa true veya false dönersin.

    Bu şekilde uzun uzadıya if yazman kodun okunabilirliğini azaltıyor sadece. Görüntü olarak da çok kötü. Alternatif olarak Array_search yada bir JSON object tutarak yapabilirsin bunu.

     

    if(obj.valid) echo "1"; else echo "0"; dersin.


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wert
    wert's avatar
    Kayıt Tarihi: 19/Eylül/2005
    Erkek

    https://www.w3schools.com/php/func_array_in_array.asp

     


    |sadece aptalların başarısı ders notu ile ölçülür|
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Erkek
    function SehirKontrol($option){
        $cities = ["türkiyede yaşamıyorum", "adana", "adıyaman", "afyonkarahisar", "ağrı", "amasya", "ankara", "antalya", "artvin", "aydın", "balıkesir", "bilecik", "bingöl", "bitlis", "bolu", "burdur", "bursa", "çanakkale", "çankırı", "çorum", "denizli", "diyarbakır", "edirne", "elazığ", "erzincan", "erzurum", "eskişehir", "gaziantep", "giresun", "gümüşhane", "hakkâri", "hatay", "isparta", "mersin", "i̇stanbul", "i̇zmir", "kars", "kastamonu", "kayseri", "kırklareli", "kırşehir", "kocaeli", "konya", "kütahya", "malatya", "manisa", "kahramanmaraş", "mardin", "muğla", "muş", "nevşehir", "niğde", "ordu", "rize", "sakarya", "samsun", "siirt", "sinop", "sivas", "tekirdağ", "tokat", "trabzon", "tunceli", "şanlıurfa", "uşak", "van", "yozgat", "zonguldak", "aksaray", "bayburt", "karaman", "kırıkkale", "batman", "şırnak", "bartın", "ardahan", "iğdır", "yalova", "karabük", "kilis", "osmaniye", "düzce"];
        return ((array_search(strtolower($option), $cities) === true) ? "1" : "0");
    }

     


    0x0480 takilin madem ﷽﷽﷽
Toplam Hit: 4400 Toplam Mesaj: 24
php fonksiyon