İNTERNET PROGRAMCILIĞI 2 Öğr. Gör. Canan ASLANYÜREK
Sık Kullanılan Hazır String Fonksiyonları Strtolower(); Stringi küçük harflere dönüştürür. Strtoupper(); Stringi büyük harflere dönüştürür. Ucwords(); Metindeki her kelimenin ilk karakterini büyük harfe dönüştürür. Ucfirst(); Verilen metnin ilk karakterini büyük harfe dönüştürür. Strlen(); Verilen metnin karakter sayısını yani uzunluğunu verir. Substr(); Bir metnin belirtilen başlangıç konumundan itibaren istenilen uzunluktaki bir parçasını gönderir. Yani metinlerin belirli bir bölümünü almak için kullanılır.
Sık Kullanılan Hazır String Fonksiyonları <?php echo $yazi="Ben Bilgisayar mühendisiyim"; echo $yazi=strtolower($yazi); echo "<br>"; echo $yazi=strtoupper($yazi); echo $yazi=ucwords($yazi); echo "<br>"; echo "<br>"; echo $yazi=ucfirst($yazi); ?>
Sık Kullanılan Hazır String Fonksiyonları <html> <body> <?php $yazi="Bilgi yönetim Bilgi yönetim Bilgi yönetimi Bilgi yönetimi Bilgi yönetim Bilgi yönetimi Bilgi yönetimi Bilgi yönetimi Bilgi yönetimi Bilgi yönetimi Bilgi yönetimi Bilgi yönetimi Bilgi yönetimi Bilgi yönetimi"; echo "<h1>Haber Başlıkları</h1>"; echo "<p>".substr($yazi,0,15)."....</p>"; echo "<a href=\"#\">Devamını Oku</a>"; ?> </body> </html>
Diziler Bütün programlama dillerinde olduğu gibi PHP de verileri kullanırken dizi değişkenlerden yararlanılır. Dizi değişkenler bir listeden başka bir şey değildir. Tek değişkende birden fazla eleman tutulur. 0 dan 9 kadar olan sayılara bir dizi denir. Aynı şekilde A ile Z arasındaki bütün harflere de bir dizi diyebiliriz.
Diziler Kullanım Şekli $dizinin_Adı=array(eleman1,elaman2,eleman3….elemanN) Dizi değişkende tutulan her değerin bir index değeri vardır. Index değerleri 0’dan başlar ve dizideki eleman sayısı kadar devam eder. Dizi değişkenin herhangi bir değerini almak istersek $dizi_değişken[index_no] şeklinde index numarasıyla çağırılır. <?php $dizi =array("Tokat","Amasya","Samsun"); echo $dizi[1]; ?>
Diziler Var olan bir dizi değişkenine değer atamak veya yeni bir eleman eklemek için ; $değişken_adı[index_no]=değer şeklinde kullanılır. Belirtilen index numarası daha önce kullanıldıysa eski değerin yerine yeni değeri koyacaktır. <?php $dizi =array("Tokat","Amasya","Samsun"); $dizi[3]="İstanbul"; //diziye yeni eleman ekledi $dizi[2]="Çorum"; //2 nolu indexi değiştirdi ?>
Count() Dizi değişkenin eleman sayısını öğrenmek için count fonksiyonu kullanılır. Count($dizi_değisken) şeklinde kullanılmaktadır. Buradan dönen değerler indexle karıştırılmamalıdır. <?php $dizi =array("Tokat","Amasya","Samsun","Çorum"); echo "Dizideki eleman sayısı".count($dizi); $dizi[count($dizi)]="Sivas"; echo "<br> Dizideki eleman sayısı". count($dizi); ?>
Count() <?php echo("<br>2.Bölüm: ".$bolumler[1]); $bolumler=array("Mekatronik","Elektrik ","Bilgisayar","Muhasebe","İşletme"); echo "Bölüm sayısı: ".count($bolumler); $bolumler[count($bolumler)]="Elektronik "; $bolumler[2]="Bilgisayar Yazılım"; echo ("<br>Yeni bölüm sayısı: ".count($bolumler)); //dizi değişkenin içeriğini yazdıralım echo("<br>1.Bölüm: ".$bolumler[0]); echo("<br>2.Bölüm: ".$bolumler[1]); echo("<br>3.Bölüm: ".$bolumler[2]); echo("<br>4.Bölüm: ".$bolumler[3]); echo("<br>5.Bölüm: ".$bolumler[4]); echo("<br>6.Bölüm: ".$bolumler[5]); ?>
<?php $dizi=array("canan","aslanyürek ",10,20,30,40); echo $dizi; echo "<br>"; echo $dizi[0];echo "<br>"; echo $dizi[1];echo "<br>"; echo $dizi[2];echo "<br>"; echo $dizi[3];echo "<br>"; echo $dizi[4];echo "<br>"; echo "<br>"; echo "<pre>"; print_r($dizi); echo "</pre>"; ?>
Foreach Fonksiyonu Dizilerin kullanımında foreach fonksiyonu büyük kolaylıklar sağlamaktadır. Dizideki eleman sayısını otomatik olarak algılar ve sayaç kullanmadan dizi değişkenlerin içeriği okunabilir. Daha sonraki konularda bu fonksiyondan daha ayrıntılı bahsedilecektir. <?php $ogrenciler[]="Ahmet"; $ogrenciler[]="Mehmet"; 0=Ahmet $ogrenciler[]="Fatma"; 1=Mehmet $ogrenciler[]="Esra"; 2=Fatma Foreach($ogrenciler as $anahtar=>$deger) 3=Esra Print("$anahtar=$deger<br>"); ?>
Dizi Değişkenlerinin Düzenlenmesi Array_merge() fonksiyonu, iki veya daha fazla dizinin bütün elemanlarını birleştirerek yeni bir dizi oluşturmak için kullanılır. Bir dizi diğerinin sonuna eklenerek ekleme işlemi gerçekleştirilir. Yeni_dizi=array_merge(dizi1, dizi2,….. dizi_n); <?php $dizi1=array("Adana","Amasya","Tokat"); $dizi2=array("İstanbul","Ankara"); $sonuc=array_merge($dizi1,$dizi2); print_r( $sonuc); ?>
Dizi Değişkenlerinin Düzenlenmesi Array_push() fonksiyonu, mevcut dizinin sonuna yeni değerler eklemek için kullanılır. Array_push(mevcut_dizi,"deger1","deger2"……. "deger_n") Dizi değişkene tek değer eklenecekse $dizi[]="deger" şeklinde kullanım daha mantıklıdır. <?php $ilk_dizi=array("Adana","Amasya","Ankara","İzmir"); array_push($ilk_dizi,"İstanbul","Urfa"); foreach($ilk_dizi as $yeni_eleman) { print("$yeni_eleman"); } ?>
Dizi Değişkenlerinin Düzenlenmesi Array_shift() fonksiyonu, dizi değişkenin ilk elemanını tümüyle silmek için kullanılır. İlk elemanı silinecek dizi değişkenin adını vermek yeterlidir. Array_shift(mevcut_dizi); <?php $ilk_dizi=array("Adana","Amasya","Ankara","İzmir"); array_shift($ilk_dizi); foreach($ilk_dizi as $yeni_eleman) { print(« «); } ?>
Dizi Değişkenlerinin Düzenlenmesi Array_unshift() fonksiyonu, dizi değişkenin başına yeni değerler eklemek için kullanılır. Array_unshift(mevcut_dizi,eleman1,eleman2….,eleman_n) <?php $a=0; $ilk_dizi=array("Adana","Amasya","Ankara","İzmir"); array_unshift($ilk_dizi,"Tokat","Sivas"); foreach($ilk_dizi as $yeni_eleman) print($a++."$yeni_eleman<br>"); ?>
Dizi Değişkenlerinin Düzenlenmesi Array_sum() fonksiyonu, dizi değişkenin içerdiği değerlerin toplamını bulur. Dizi değişken içerisinde string türünde ifadeler bulunursa sadece sayısal değerlerin toplamı bulunur. Array_sum(dizi_degisken); <?php $a=array(2,4,6,8); echo "toplam a=".array_sum($a)."<br>"; $b=array("a"=>1.2,"b"=>2.3,"c"=>3.4); echo "toplam b=".array_sum($b)."<br>"; $c=array("Adana","2","Amasya","Ankara","6","İzmir"); echo "toplam c=".array_sum($c)."<br>"; ?>
Dizi Değişkenlerinin Düzenlenmesi in_array() fonksiyonu, bir verinin dizi değişken içerisinde olup olmadığını kontrol eder. Aranan bilgi dizi içerisinde varsa True, yoksa false değeri döndürür. İn_array(aranan_bilgi,dizi_degisken,tür_kontrol) Üçüncü parametre true olursa arama yaparken verinin türünü de dikkate alır. <?php $a=array(2,4,6,8); if(in_array("2", $a)) echo "2 bilgisi var"; else echo "2 bilgisi yok"; ?>
Dizi Değişkenlerinin Düzenlenmesi Array_search() fonksiyonu, bir dizi değişken içerisinde arama yapar. Aranan bilgi bulunursa bulunan verinin index numarasını, bulamazsa false veya boş değer döndürür Array_search(aranan_bilgi,dizi_degisken,tür_kontrol) <?php $a=array(2,4,6,8); echo "index değeri:".array_search(2,$a); ?>
Dizi Değişkenlerinin Düzenlenmesi Sort() fonksiyonu, dizi değişkenin içeriğini küçükten büyüğe doğru sıralamak için kullanılır. Sort(dizi_degisken); <?php $dizi=array("limon","portakal","muz","elma"); echo "Dizinin önceki şekli:<br>"; foreach ($dizi as $index => $deger) echo "dizi[".$index."]=".$deger."<br>"; sort($dizi); echo "Dizinin sonraki hali:<br>"; foreach($dizi as $index1=>$deger1) echo "dizi[".$index1."]=".$deger1."<br>"; ?>
Dizi Değişkenlerinin Düzenlenmesi Rsort() fonksiyonu, dizi değişkenin içeriğini büyükten küçüğe doğru sıralamak için kullanılır. Rsort(dizi_degisken) <?php $dizi=array("10","40","20","30"); echo "Dizinin önceki şekli:<br>"; foreach ($dizi as $index => $deger) echo "dizi[".$index."]=".$deger."<br>"; rsort($dizi); echo "Dizinin sonraki hali:<br>"; foreach($dizi as $index1=>$deger1) echo "dizi[".$index1."]=".$deger1."<br>"; ?>
Dizi Değişkenlerinin Düzenlenmesi Join() fonksiyonu bir dizinin elemanlarının arasına istediğimiz bir değeri koyar. <?php $dizi = array("1","2","3","4"); 1*2*3*4 echo join("*",$dizi);?>
Dizi Değişkenlerinin Düzenlenmesi current() fonksiyonu bize dizi değişkenin ilk elemanını verecektir. <?php $dizi = array("1","2","3","4"); 1 echo current ($dizi); ?>
Dizi Değişkenlerinin Düzenlenmesi end() fonksiyonu bize dizi değişkenin en son elemanını verecektir. <?php $dizi = array("1","2","3","4"); echo end($dizi); 4 ?>
Dizi Değişkenlerinin Düzenlenmesi next() fonksiyonu bize dizi değişkenin ilk elemanından sonraki elemanı verecektir. <?php $dizi =array("1","2","3","4"); echo next($dizi); 2 ?>
Dizi Değişkenlerinin Düzenlenmesi Bu programda end() fonksiyonu bize dizi değişkenin son elemanını verecektir. Yani 3 rakamını ekrana yazacaktır. Daha sonra prev() fonksiyonu ile gerideki eleman, yani bir önceki eleman olan 2 rakamını ekrana yazacaktır. <?php $dizi = array("1 ","2 ","3 "); echo end($dizi); 32 echo prev($dizi); ?>
Dizi Değişkenlerinin Düzenlenmesi Bu programda end() fonksiyonu bize dizi değişkenin son elemanını verecektir. Yani 3 rakamını ekrana yazacaktır. Daha sonra reset() fonksiyonu başa döndürülüyor (Sıfırlıyor) ve ilk elemanını, yani 1 rakamını ekrana yazdırılmasını sağlıyor. <?php $dizi = array("1 ","2 ","3 "); echo end($dizi); 3 1 echo reset($dizi); ?>
print_r Fonksiyonu Dizi ve nesnelerin değerlerini şematik olarak elde etmemizi sağlar. <?php $dizi = array("C","S ",2,0,1,8); print_r($dizi); ?> Array ( [0] => C [1] => S [2] => 2 [3] => 0 [4] => 1 [5] => 8 )
Asort() fonksiyonu dizideki değerleri artan bir şekilde sıralar Asort() fonksiyonu dizideki değerleri artan bir şekilde sıralar. Sıralama sonucunda orijinal indisler korunur. Yani sıralamadan önceki değerlerin indisleri ile sıralamadan sonraki değerlerin indisleri aynı olur. Değerlerle beraber indisler de yer değiştirir Öğrenci numaralarına göre verilen notları sıralayalım <?php $matematik=array(165=>45,850=>32,141=>74,295=>95,208=>51, 302=>17); print_r($matematik); echo "<hr>"; asort($matematik); ?>
Dizi Değişkenlerinin Düzenlenmesi Arsort() fonksiyonu dizi değerlerini azalan sıralamaktadır. Sıralama sonucunda asort() fonksiyonunda olduğu gibi orijinal indisler korunmaktadır. Sıralamadan önceki indislerin işaret ettiği değerler ile sıralamadan sonradaki işarete ettiği değerler aynıdır. Yani değerlerle beraber indisler de yer değiştirir. <?php $secenekler=array("a"=>"RAM","b"=>"USBDisk", "c"=>"Harddisk","d"=>"L1 Cache"); arsort($secenekler); print_r($secenekler); ?>
Dizi Değişkenlerinin Düzenlenmesi İmplode() fonksiyonu dizi değişkenlerini birleştirmeye yarar. <?php $dizi=array("a","b","c","d","e"); echo $sonuc=implode("+",$dizi); echo "<br>"; ?>
Dizi Değişkenlerinin Düzenlenmesi Explode() fonksiyonu implode() fonksiyonunun tam tersidir. Bu fonksiyon ile stringi ayıraca göre bölüp her elemanını bir diziye atıyoruz. Genel olarak 3 parametre alır ama çoğunlukla 2 parametre ile kullanılır. <?php $zaman="27-10-2017 19:08"; echo $sonuc=explode(" ",$zaman); echo "<pre>"; echo print_r($sonuc); echo "</pre>"; echo "<br>"; echo "Tarih: ".$sonuc[0]." Saat: ".$sonuc[1]; echo "<hr>"; ?>
KAYNAK Ebubekir Yaşar, Turgut Özseven, İnternet Programcılığı 2 http://www.php.net/