Fonksiyon nedir?
Fonksiyon, alt program yada işlev olarak bilinen, belirli bir eylemi gerçekleştiren yeniden kullanılabilir bir kod parçası veya bloğudur.
Fonksiyonlar, çağrıldığında değer döndürebilir veya herhangi bir değer döndürmeden basitçe bir işlem gerçekleştirebilir.
PHP, farklı görevleri yerine getiren 700’ün üzerinde yerleşik fonksiyona sahiptir.
Neden fonksiyon kullanırız?
- Daha iyi kod organizasyonu – fonksiyonlar, belirli bir görevi birlikte gerçekleştiren ilgili kod bloklarını gruplamamıza izin verir.
- Yeniden kullanılabilirlik – bir kez tanımlandıktan sonra, bir fonksiyon PHP dosyalarımızdaki bir dizi komut dosyasıyla çağrılabilir. Bu, veritabanına bağlanmak gibi bazı rutin görevleri gerçekleştirmek istediğimizde bize zaman kazandırır.
- Sistemdeki kolay bakım güncellemelerinin yalnızca tek bir yerde yapılması gerekir.
Built-in (yerleşik) Fonksiyonlar
Yerleşik fonksiyonlar, PHP yükleme paketinde bulunan fonksiyonlardır.
Bu yerleşik fonksiyonlar, PHP’yi çok verimli ve üretken bir betik dili yapan asıl unsurlardır.
Yerleşik fonksiyonlar birçok kategoriye ayrılabilir. Aşağıda kategorilerin listesi bulunmaktadır.
- String Fonksiyonları
Tüm fonksiyonlar için php.net sitesini ziyaret edin. - Math Fonksiyonlar
Tüm fonksiyonlar için php.net sitesini ziyaret edin. - Dizi fonksiyonları
Tüm fonksiyonlar için php.net sitesini ziyaret edin. - Tarih fonksiyonları
Tüm fonksiyonlar için php.net sitesini ziyaret edin. - Tüm Referans fonksiyon listesi için php.net sitesini ziyaret edin.
String Fonksiyonları
String veriler üzerinde işlem yapmak için kullanılan işlevlerdir. String verilerini biçimlendirmek, kırpmak, tekrar etmek vb. ifadeler için kullanılabilirler.
ÖNEMLİ: Çok baytlı dizeler için PHP ile kullanılan mb_ ile başlayan fonksiyonlar vardır. Bu fonksiyonlara ulaşmak için çok baytlı fonksiyonlar yazısını okuyun.
explode
explode — Bir dizgeyi bir ayraca göre bölüp bir dizi haline getirir.
Örnek:
1 2 3 4 5 6 7 8 | <?php // 1. örnek $pizza = "dilim1 dilim2 dilim3 dilim4 dilim5 dilim6"; $dilimler = explode(" ", $pizza); echo $dilimler[0]; // dilim1 echo $dilimler[1]; // dilim2 |
htmlentities
htmlentities — Dönüştürülebilecek tüm karakterleri HTML öğeleri haline getirir.
1 2 3 4 5 6 7 8 9 10 11 | <?php $str = "<b>Tek</b> bir 'tırnak'"; // Çıktısı: <b>Tek</b> bir 'tırnak' echo htmlentities($str); // Çıktısı: <b>Tek</b> bir 'quote' echo htmlentities($str, ENT_QUOTES); ?> |
Çıktı:
1 2 3 | <b>Tek</b> bir 'tırnak'<b>Tek</b> bir 'tırnak' |
html_entity_decode
html_entity_decode — Dönüştürülebilecek tüm HTML öğelerini karakter haline getirir.
1 2 3 4 5 6 7 8 9 10 11 12 | <?php $orig = "I'll \"walk\" the <b>dog</b> now"; $a = htmlentities($orig); $b = html_entity_decode($a); echo $a; // I'll "walk" the <b>dog</b> now echo $b; // I'll "walk" the <b>dog</b> now |
Çıktı:
1 2 3 | I'll "walk" the <b>dog</b> nowI'll "walk" the <b>dog</b> now |
htmlspecialchars
htmlspecialchars — Özel karakterleri HTML öğeleri haline getirir.
1 2 3 4 5 6 | <?php $yenisi = htmlspecialchars("<a href='dnm'>Deneme</a>", ENT_QUOTES); echo $yenisi; // <a href='dnm'>Deneme</a> ?> |
Çıktı:
1 2 3 | <a href='dnm'>Deneme</a>gt; |
implode
implode — Dizi elemanlarını birleştirip bir dizge elde eder.
1 2 3 4 5 6 7 8 9 10 | <?php $dizi = array('soyadı', 'eposta', 'telefon'); $virgul_ayrac = implode(",", $dizi); echo $virgul_ayrac; // soyadı,eposta,telefon ?> |
1 2 3 | soyadı,eposta,telefon |
number_format
number_format — Sayıyı binlik bölümlere ayırır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php $sayı = 1234.56; // İngilizcedeki gösterim (öntanımlı) $english_format_number = number_format($sayı); // 1,235 // Bizimki $bizimki = number_format($sayı, 2, ',', '.'); // 1.234,56 $number = 1234.5678; // İngilizcede binlik ayraçsız gösterim $english_format_number = number_format($number, 2, '.', ''); // 1234.57 ?> |
md5
md5 — Bir dizgenin md5 özetini hesaplar.
1 2 3 4 5 6 7 8 9 10 | <?php $str = 'apple'; if (md5($str) === '1f3870be274f6c49b3e31a0c6728957f') { echo "Yeşil elma mı istersin kırmızı mı?"; exit; } ?> |
strlen
strlen — Dizge uzunluğunu döndürür.
1 2 3 4 5 6 7 8 9 | <?php $str = 'abcdef'; echo strlen($str); // 6 echo "<br>"; $str = ' ab cd '; echo strlen($str); // 7 ?> |
sprintf
sprintf — Biçemli bir dizge döndürür.
Örnek:
1 2 3 4 5 6 | <?php $format = 'There are %d monkeys in the %s'; printf($format, $num, $location); ?> |
Daha fazla örnek ve joker karaketer için yukarıdaki linke tıklayın.
substr
substr — Dizgenin bir kısmını döndürür.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php echo substr('abcdef', 1); // bcdef echo substr('abcdef', 1, 3); // bcd echo substr('abcdef', 0, 4); // abcd echo substr('abcdef', 0, 8); // abcdef echo substr('abcdef', -1, 1); // f // Dizge içerisindeki tek bir karaktere ulaşmak için // "köşeli ayraçlar" da kullanılabilir. $dizge = 'abcdef'; echo $dizge[0]; // a echo $dizge[3]; // d echo $dizge[strlen($dizge)-1]; // f ?> |
PHP ile kullanılan tüm string fonksiyonlarına ulaşmak için bağlantıya tıklayın. Çok baytlı string fonksiyonları içinde bu bağlantıya tıklayın.
Math fonksiyonlar
Sayısal fonksiyonlar, sayısal sonuçlar döndüren işlevlerdir.
Sayısal php fonksiyonları, sayıları biçimlendirmek, sabitleri döndürmek, matematiksel hesaplamalar yapmak vb. ifadeler için kullanılabilir.
Aşağıda bir kaç tane sayısal fonksiyon örneğini gösterelim.
ceil
ceil — sayıyı yukarı yuvarlar.
1 2 3 4 5 6 7 | <?php echo ceil(4.3); // 5 echo ceil(9.999); // 10 echo ceil(-3.14); // -3 ?> |
floor
floor — sayıyı aşağı yuvarlar.
1 2 3 4 5 6 7 | <?php echo floor(4.3); // 4 echo floor(9.999); // 9 echo floor(-3.14); // -4 ?> |
round
round — sayıyı en yakın tam sayıya yuvarlar.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php var_dump(round(3.4)); var_dump(round(3.5)); var_dump(round(3.6)); var_dump(round(3.6, 0)); var_dump(round(5.045, 2)); var_dump(round(5.055, 2)); var_dump(round(345, -2)); var_dump(round(345, -3)); var_dump(round(678, -2)); var_dump(round(678, -3)); ?> |
max
max — verilenler içindeki en büyük sayıyı bulur.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <?php echo max(2, 3, 1, 6, 7); // 7 echo max(array(2, 4, 5)); // 5 // The string 'hello' when compared to an int is treated as 0 // Since the two values are equal, the order they are provided determines the result echo max(0, 'hello'); // 0 echo max('hello', 0); // hello // Here we are comparing -1 < 0, so 'hello' is the highest value echo max('hello', -1); // hello // With multiple arrays of different lengths, max returns the longest $val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1) // Multiple arrays of the same length are compared from left to right // so in our example: 2 == 2, but 5 > 4 $val = max(array(2, 4, 8), array(2, 5, 1)); // array(2, 5, 1) // If both an array and non-array are given, the array will be returned // as comparisons treat arrays as greater than any other value $val = max('string', array(2, 5, 7), 42); // array(2, 5, 7) // If one argument is NULL or a boolean, it will be compared against // other values using the rule FALSE < TRUE regardless of the other types involved // In the below example, -10 is treated as TRUE in the comparison $val = max(-10, FALSE); // -10 // 0, on the other hand, is treated as FALSE, so is "lower than" TRUE $val = max(0, TRUE); // TRUE ?> |
min
min— verilenler içindeki en küçük sayıyı bulur.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <?php echo min(2, 3, 1, 6, 7); // 1 echo min(array(2, 4, 5)); // 2 // The string 'hello' when compared to an int is treated as 0 // Since the two values are equal, the order they are provided determines the result echo min(0, 'hello'); // 0 echo min('hello', 0); // hello // Here we are comparing -1 < 0, so -1 is the lowest value echo min('hello', -1); // -1 // With multiple arrays of different lengths, min returns the shortest $val = min(array(2, 2, 2), array(1, 1, 1, 1)); // array(2, 2, 2) // Multiple arrays of the same length are compared from left to right // so in our example: 2 == 2, but 4 < 5 $val = min(array(2, 4, 8), array(2, 5, 1)); // array(2, 4, 8) // If both an array and non-array are given, the array is never returned // as comparisons treat arrays as greater than any other value $val = min('string', array(2, 5, 7), 42); // string // If one argument is NULL or a boolean, it will be compared against // other values using the rules FALSE < TRUE and NULL == FALSE regardless of the // other types involved // In the below examples, both -10 and 10 are treated as TRUE in the comparison $val = min(-10, FALSE, 10); // FALSE $val = min(-10, NULL, 10); // NULL // 0, on the other hand, is treated as FALSE, so is "lower than" TRUE $val = min(0, TRUE); // 0 ?> |
pi
pi — pi sayısını getir. Ayrıca M_PI sabitini de kullanabilirsiniz.
1 2 3 4 5 6 | <?php echo pi(); // 3.1415926535898 echo M_PI; // 3.1415926535898 ?> |
pow
pow — kuvvet hesaplar.
1 2 3 4 5 6 7 8 9 10 11 12 | <?php var_dump(pow(2, 8)); // int(256) echo pow(-1, 20); // 1 echo pow(0, 0); // 1 echo pow(10, -1); // 0.1 echo pow(-1, 5.5); // PHP >=5.2.2: NAN echo pow(-1, 5.5); // PHP <5.2.2: -NAN ?> |
rand
rand — rastgele sayı üretir.
1 2 3 4 5 6 7 8 | <?php echo rand() . "\n"; echo rand() . "\n"; echo rand(5, 15); ?> |
sqrt
sqrt — karekök hesaplar.
Diğer Math fonksiyonları için bağlantıya tıklayın.
Dizi Fonksiyonları
PHP’de dizilerle çalışırken çok sayıda fonksiyon kullanabilirsiniz. Bu fonksiyonların tüm listesine buradaki bağlantıyı tıklayarak ulaşabilirsiniz.
Bu yazıda bir kaç tane dizi fonksiyonuna yer verilecektir.
array_push
array_push — Belli sayıda elemanı dizinin sonuna ekler.
1 2 3 4 5 6 7 | <?php $kume = array("elma", "armut"); array_push($kume, "muz", "portakal"); print_r($kume); ?> |
array_unshift
array_unshift — Bir dizinin başlangıcına bir veya daha fazla eleman ekler.
1 2 3 4 5 6 7 | <?php $liste = array("ayva", "muz"); array_unshift($liste, "elma", "armut"); print_r($liste); ?> |
array_pop
array_pop — Dizinin sonundaki elemanı diziden çıkartır.
1 2 3 4 5 6 7 | <?php $depo = array("portakal", "muz", "elma", "ahududu"); $meyve = array_pop($depo); print_r($depo); ?> |
array_shift
array_shift — Dizini başlangıcından bir eleman çeker.
1 2 3 4 5 6 7 | <?php $deste = array("as", "papaz", "kız", "vale"); $kart = array_shift($deste); print_r($deste); ?> |
array_rand
array_rand — Bir diziden belli sayıda rasgele eleman döndürür
1 2 3 4 5 6 7 8 | <?php $input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank"); $rand_keys = array_rand($input, 2); echo $input[$rand_keys[0]] . "\n"; echo $input[$rand_keys[1]] . "\n"; ?> |
array_unique
array_unique — Diziden yinelenen değerleri siler.
1 2 3 4 5 6 7 | <?php $girdi = array("a" => "yeşil", "kırmızı", "b" => "yeşil", "mavi", "kırmızı"); $sonuç = array_unique($girdi); print_r($sonuç); ?> |
compact
compact — Değişkenlerle değerlerinden oluşan bir dizi oluşturur.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php $ad="Hayri"; $numara=113; $sinif="12AB"; $dizi=["ad","numara","sinif"]; $sonuc = compact($dizi); echo "<pre>"; var_dump($sonuc); /** array(3) { ["ad"]=> string(5) "Hayri" ["numara"]=> int(113) ["sinif"]=> string(4) "12AB" } */ ?> |
count
count — Bir dizideki eleman sayısını veya bir nesnedeki özellik sayısını döndürür.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php $a[0] = 1; $a[1] = 3; $a[2] = 5; $sonuç = count($a); // $sonuç == 3 $b[0] = 7; $b[5] = 9; $b[10] = 11; $sonuç = count($b); // $sonuç == 3 $sonuç = count(null); // $sonuç == 0 $sonuç = count(false); // $sonuç == 1 ?> |
sort
sort — Bir diziyi sıralar.
1 2 3 4 5 6 7 8 9 10 11 | <?php $fruits = array("lemon", "orange", "banana", "apple"); sort($fruits); foreach ($fruits as $key => $val) { echo "fruits[" . $key . "] = " . $val . "\n"; } ?> |
PHP Tarih fonksiyonları
PHP ile yerleşik tarih fonksiyonları olmasına rağmen tarih saat nesnelerini kullanmanızı tavsiye ederim. Ayrıca bu yazıda geçen ve diğer tarih saat fonksiyonları için bağlantıya tıklayın.
date
date — Yerel tarihi/saati biçimlendirir. Tüm karakterler için date başlığına tıklayın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php // varsayılan zaman dilimini ayarla. PHP 5.1'den beri kullanılabilir. date_default_timezone_set('UTC'); // Şöyle bir şey basar: Monday echo date("l"); // Şöyle bir şey basar: Monday 8th of August 2005 03:12:46 PM echo date('l jS \of F Y h:i:s A'); // Şöyle bir şey basar: July 1, 2000 is on a Saturday echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000)); /* biçim değiştirgesi için sabit kullanımı*/ // Şöyle bir şey basar: Mon, 15 Aug 2005 15:12:46 UTC echo date(DATE_RFC822); // Şöyle bir şey basar: 2000-07-01T00:00:00+00:00 echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000)); ?> |
time
time — Geçerli Unix zaman damgasını döndürür.
1 2 3 4 5 6 7 8 9 10 | <?php $gelecekHafta = time() + (7 * 24 * 60 * 60); // 7 gün; 24 saat; 60 dakida; 60 saniye echo 'Şimdi: '. date('d-m-Y') ."\n"; echo 'Gelecek Hafta: '. date('d-m-Y', $gelecekHafta) ."\n"; // yada strtotime() işlevi ile kullanımı echo 'Gelecek Hafta: '. date('d-m-Y', strtotime('+1 week')) ."\n"; ?> |
1 Yorum