Php Fonksiyonda İf Yerine Daha Kolay Ne Olabilir
-
Az bişi Karıştırayım tartışalım peki , aşağıdakilerden hangi performans yada okunabilirlik açından en verimlisi sizce:
$Array = [0, 1, 2, 3, 4, 5]; $Id = 3; 1-) if(array_search($Id, $Array) > 0) 2-) if(isset($Array[$Id])) 3-) if(in_array($Id, $Array))
dahası varsa ki illa vardır aklıma gelmedi
Düzenleme:Syntax karışıklığı :=)
-
Shuqufe bunu yazdı
Az bişi Karıştırayım tartışalım peki , aşağıdakilerden hangi performans yada okunabilirlik açından en verimlisi sizce:
$Array = [20, 19, 18, 17, 16, 15]; $Id = 3; 1-) if(array_search($Id, $Array)) 2-) if(isset($Array[$Id ])) 3-) if(in_array($Id, $Array))
dahası varsa ki illa vardır aklıma gelmedi
2. yöntem keylerle valueler aynıysa ise yarar ama düzenlediğim şekilde denersen patlar.
in array true ya da falsa dönerken array search eşleşmenin keyini döndürür.
-
Shuqufe bunu yazdı
Az bişi Karıştırayım tartışalım peki , aşağıdakilerden hangi performans yada okunabilirlik açından en verimlisi sizce:
$Array = [0, 1, 2, 3, 4, 5]; $Id = 3; 1-) if(array_search($Id, $Array) > 0) 2-) if(isset($Array[$Id])) 3-) if(in_array($Id, $Array))
dahası varsa ki illa vardır aklıma gelmedi
Düzenleme:Syntax karışıklığı :=)
Aradığım değerin index sırasını bulmam gerekiyorsa array_search, varlığını kontrol etmek istiyorsam genelde in_array kullanıyorum.
Genelde array içinde null değer kullanılmıyor ama olurda varsa isset ile sorgularken hatalu sonuç veriyor. Daha önce başıma geldi.
-
Aslında evet hepsi farklı bir işe yarıyor en nihayetinde. ama herkesin alışkanlığı falan farklı ya aslında onu görmek istemiştim.
dil hangisi olursa olsun bazen okadar değişik yada saçma sapan şeyler görüyorum ki anlatmama, sizinde başınıza geliyordur
-
Oouv, konu konuya gelen mesajlar iyiymiş. özellikle @ComputerWolf ve sonrasında gelen mesajlar. Ama özellikle Şu === ve @Shuqufe 'nin mesajları.
-
Shuqufe bunu yazdı
Az bişi Karıştırayım tartışalım peki , aşağıdakilerden hangi performans yada okunabilirlik açından en verimlisi sizce:
$Array = [0, 1, 2, 3, 4, 5]; $Id = 3; 1-) if(array_search($Id, $Array) > 0) 2-) if(isset($Array[$Id])) 3-) if(in_array($Id, $Array))
dahası varsa ki illa vardır aklıma gelmedi
Düzenleme:Syntax karışıklığı :=)
array_search'ün geri dönüş parametresi eğer index bulunamadıysa FALSE'tur. PHP kafasına göre tür değişimi yapabildiği için türü de kontrol edip if (array_search($birseyler, $baskaseyler) !== FALSE) olarak denetlemelisiniz.
isset sıkıntılı. Çünkü uninitialized ile undefined ayrımı yapmıyor. Çok önemli mi? Belki...
-
hocam şehirleri veritabanında tut. formunda da şehirleri veritabanından çekerek yazdır. şehirlerin listelendiği select'teki value değerlerine şehir adlarını değil, id'lerini yazdır. formdan gelen id'yi de veritabanında aratacaksın var mı yok mu diye. Eğer böyle yaparsan her sayfada şehirler listesini ayrı ayrı düzenlemene gerek kalmaz. bu belki şehirlerde mantıksız gelebilir ama bir ürün/hizmet seçtirdiğin bir formda ekleme-çıkarma yapman gerekebilir ve tüm sayfaları tek tek düzeltmen gerekir; şuan ki gibi yaparsan.
-
tahribatı bu yüzden seviyorum ya :) Abi üşenmeden array versiyonunu yazıp vermişsiniz :) Bir tanesiniz
-
end bunu yazdı
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"); }
en temizi :D
-
hworm bunu yazdıend bunu yazdı
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"); }
en temizi :D
bu calismayacaktir. karistirmisim fonksiyonlari xD
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 ((in_array(strtolower($option), $cities) === true) ? "1" : "0"); }
olacak dogrusu.
ya da
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) !== false) ? "1" : "0"); }