Aylık Arşiv: Temmuz 2011

PHP’de strpos Fonksiyonunun Kullanımı

strpos fonksiyonu PHP’de bir stringde ‘bulma’ işlemleri yapmaktır. Cümle biraz karışık olduysa örneklere bir gözatın isterseniz.

Kullanımı: strpos($metin, $aranacak_deger,$kacinci_siradan_baslayacak);

Not: $kacinci_siradan_baslayacak bölümünü kullanmayabilirsiniz.

Örnek1:

<?php
$metin = "ali okul gitti ama..";
$sonuc = strpos($metin,"a");
if ($sonuc === false)
	{
echo "Hayır böyle bir şey yok.";
		
	}
else
	{
		echo "Evet! Metinde aradığınız değeri bulundu!";
		echo "<br>";
		echo "Aradığınız değer metinde " . $sonuc . ". sırada bulundu";
	}
?>

Kodu incelediyseniz $sonuc değişkeninde, bulunan ilk sonucun kaçıncı sırada olduğunu öğrenebiliyoruz. Üstteki kodu çalıştırırsanız ilk sonucun 0. sırada olduğunu öğrenebilirsiniz.

Peki niye === false kullandık?

Şimdi programlamayı bir kenara koyun. Bilgisayarın çalışma mantığı çok basit bir olaya dayanmaktadır. 1 ve 0. Evet bilgisayarın temeli aslında 1 ve 0’dır. Bunu laf olsun diye söylemiyorum. Bilgisayarda yazdığınız her bir karakter aslında bilgisayarda 1 ve 0’lar ile belli bir düzene göre sıralanır. Örneğin siz bilgisayara A harfi yazdığınızda bilgisayara bu (bu kodlama muhtemelen yanlıştır, şu an örnek vermek amacıyla yazdım) 10101101 gibi kodlanarak yollanıyor.

Evet şimdi niye !== false kullandık ondan bahsedelim. 1 ve 0’a bir çeşit True-False diyebiliriz.
$sonuc değişkeninin bize bulunan harfin kaçıncı sırada olduğunu anlattığını söylemiştik. Farkettiyeniz bu kodda 0. sırada buldu harfi. Tabii bilgisayar bunu bizim gibi rakam olan 0’ı algılamıyor, False olan 0’ı algılıyor. $sonuc == false yapsaydım 0==false olacaktı ve sonuç doğru olacaktı. Yani false == false olacaktı. Ama $sonuc === false yaparak bu sorunu ortadan kaldırıyoruz. Yeri gelmişken söyleyeyim nasıl == simgesini tersi != ise === işaretinin terside !== işaretidir.

Diğer bir örnekle bitirelim:

<?php
$text = "ali okula gitti ama.";
$sonuc = strpos($text,"a",1);
if($sonuc !== false)
	{
		echo "Evet! Metinde aradığınız değeri bulundu!";
		echo "<br>";
		echo "Aradığınız değer metinde " . $sonuc . ". sırada bulundu";
	}
else
	{
		echo "Aranılan değer bulunamadı";
	}
?>

strpos($text,”a”,1)

Buradaki 1, a harfini $text değişkeninin içinde kaçıncı sıradan aramaya başlanacağını belirtir. ali’deki a harfi 0. sıradadır.

 
227 Kudos
Don't move

PHP’de Function Kullanımı

Giriş sözlerini yazmakta biraz beceriksizim. Onun için kısaca function yapısından bahsedip direkt örneklere geçmek istiyorum.

Function (ya da Türkçesiyle fonksiyon) yapısı ile sık sık tekrarlayacağınız bir işlemi daha kolay yapabilirsiniz. Örneğin: Uzuuuun bir tane mektup örneğiniz var. Ama bu mektubun belli başlı yerler değişik.

Misal: Sadece Ad, Soyad, Şehir, Meslek, Maaş bölümleri değişik. Geri kalan tüm her yer aynı. Eee bu durumda ne yapacağız? Evet, mektubu tekrar tekrar yazmayacağız. Ad yazılacak yere $Ad değişkenini, Soyad yazılacak yerine $Soyad, Şehir yazılacak yere $Sehir, Meslek’e $Meslek, Maaş’a da $Maas değişkenlerini koyacağız. Değişkenler tam manasıyla bir değişken olacak ve her fonksiyonu çalıştırdığımızda farklı bir değer alacak.

Örnek:

<?php

function Mektup($ad,$soyad,$sehir,$meslek,$maas)
// burada fonksiyonda kullanılacak değişkenleri yazıyoruz.
{

$ileti  = "Merhaba" . $ad . " Ben varya ben " . $soyad . " soyadını kullanan insanlara bayılırım. Hem bir de " . $sehir . " şehrinde oturuyormuş. İyi kanım ısındı sana. Ayrıca " . $meslek . " işini yapıyormuşsun ne guzel. Herhalde bu meslekten ayda " . $maas . " lira kazanıyorsundur";
echo $ileti;
}

/* şimdi function ı aktif edeceğiz. Functionda belirlenen sıraya göre değerleri yazacağız */

Mektup("Ali","Kaya","Ankara","Mimar","2 bin TL");

?>

Bunu çalıştırdığınızda biraz ilginç bir mektup ile karşılaşacaksınızdır. :)

Global İşlemi

Global işlemi ile oluşturulan fonksiyonun dışında kalan değişkeni fonksiyon içine aktarmada kullanırız.
Örnek:

<?php

$ad = "Ali";

function isim_yaz() /* () şeklinde herhangi bir değişken belirtmeden fonksiyonlarda yapabilirsiniz.*/
{
global $ad; /* fonksiyon dışındaki $ad değişkenini fonksiyona aktardık. */
echo $ad; /* $ad değişkenini bastırdık ve ekrana Ali yazdırdık.”*/
}
isim_yaz(); /* fonksiyonu çalıştırdık */
?>

Bunu çalıştırdığınızda dışarıdaki $ad ı içeriye alıp ekrana yazıyor.

Static İşlemi

Static olayını örnek üzerinde anlatırsam daha iyi kavranacağını düşünüyorum. Onun için direkt aşağıdaki fonksiyonu çalıştırın.

<?php
function saydir(){
static $i = 0;
$i++;
echo $i . " mumdur" . "<br>";
}
saydir ();
saydir ();
saydir ();
?>

Bu fonksiyonu çalıştırdığınızda ekrana 1 mumdur, 2 mumdur, 3 mumdur yazacaktır. Farkettiyseniz 3 defa saydir(); yazdık. Yani 3 defa saydir() fonksiyonunu çalıştırdık. Her defasında da rakam +1 arttı. Ancak fonksiyonumuzun içindeki static i kaldırırsak. 1 mumdur, 1 mumdur, 1 mumdur yazacaktır.

Eğer static olmazsa saydir() fonksiyonu 1 kez çalışır ve 1’i ekrana yazar. $i değeri tekrar sıfırlanır. Tekrar saydir() yazdığımızda yine 1 yazar. Çünkü daha önce değer sıfırlanmıştı. Bir nevi Static koyarak sıfırlanmasını engelledik diyebiliriz.

Bir de return var onu da artık bir sonraki yazıda yazmaya çalışayım.

Not: Buraya kodları deneyerek koydum. Ama WordPress’e yazarken bir iki düzenleme yaptım. Kodların çalışıyor olması lazım. Çalışmıyorsa yorumlardan bana haber verirseniz sevinirim.

 
121 Kudos
Don't move