PHP/String işlevleri

< PHP

explode()

değiştir

Bir string ifade veya değişkeni belli bir ifadeye göre parçalara ayırır ve dizi oluşturur.

<?php
$query = "panel/kullanici/giris";
$dizi = explode("/", $query); // bölü işaretlerine göre parçalanıyor
var_dump($dizi);
?>

Çıktısı:

array(3) {
  [0]=>
  string(5) "panel"
  [1]=>
  string(9) "kullanici"
  [2]=>
  string(5) "giris"
}

İsteğe bağlı ikinci bir parametre daha alır. Parçalama sonucu oluşacak dizi, bu parametre kadar eleman içerir. Örneğin parametre 3 ise ilk 3 eleman parçalanıp alınırken diğerleri olduğu gibi alınır. Parametre negatifse son eleman yok sayılır.

<?php
$lang = "c c++ java c# perl php python";
$dizi = explode(" ", $lang, 3); // $dizi 3 elemanlı olacak, yani ilk 2 eleman parçalanacak
var_dump($dizi);
?>

Çıktısı:

array(3) {
  [0]=>
  string(1) "c"
  [1]=>
  string(3) "c++"
  [2]=>
  string(23) "java c# perl php python"
}
<?php
$lang = "c c++ java c# perl php python";
$dizi = explode(" ", $lang, -1); // son eleman alınmayacak
var_dump($dizi);
?>

Çıktısı:

array(6) {
  [0]=>
  string(1) "c"
  [1]=>
  string(3) "c++"
  [2]=>
  string(4) "java"
  [3]=>
  string(2) "c#"
  [4]=>
  string(4) "perl"
  [5]=>
  string(3) "php"
}

Görüldüğü gibi son parametre negatif olduğu için son eleman alınmadı.

implode()

değiştir

Bir dizinin elemanlarını belli bir ifadeye göre birleştirip karakter dizisi (string) oluşturur.

<?php
$dizi = array("c", "c++", "java", "c#", "perl", "php", "python");
$lang = implode(".", $dizi); // "nokta" ile birleştirilecek
echo $lang;
?>

Çıktısı:

c.c++.java.c#.perl.php.python

Bir karakter dizisinin başındaki şu karakterleri siler:

  • " " (boşluk)
  • \0 (NULL karakter)
  • \n (satır sonu karakteri)
  • \t (yatay tab [sekme] karakteri)
  • \v (dikey tab [sekme] karakteri)
  • \r (satır başı karakteri)
<?php
$lang = "    c c++ java c# perl php python";
$lang = ltrim($lang); // baş taraftaki boşluklar silinir
echo $lang;
?>

$lang değişkeninin:

ilk hali:    c c++ java c# perl php python
son hali: c c++ java c# perl php python
<?php
$lang = "\n\n\n\nc c++ java c# perl php python";
$lang = ltrim($lang); // baş taraftaki satır sonu karakterleri silinir
?>

ltrim() işlevine, parametre olarak bir ifade de verilebilir.

<?php
$lang = "^^^c c++ java c# perl php python";
$lang = ltrim($lang, "^"); // $lang değişkeninin başındaki ^ işareti silinecek
echo $lang;
?>

$lang değişkeninin:

ilk hali: ^^^c c++ java c# perl php python
son hali: c c++ java c# perl php python

Bir karakter dizisinin sonundan şu karakterleri siler:

  • " " (boşluk)
  • \0 (NULL karakter)
  • \n (satır sonu karakteri)
  • \t (yatay tab [sekme] karakteri)
  • \v (dikey tab [sekme] karakteri)
  • \r (satır başı karakteri)

Kullanım stili ltrim() işlevi ile aynıdır.

Karakter dizisinin her iki tarafından şu karakterleri siler:

  • " " (boşluk)
  • \0 (NULL karakter)
  • \n (satır sonu karakteri)
  • \t (yatay tab [sekme] karakteri)
  • \v (dikey tab [sekme] karakteri)
  • \r (satır başı karakteri)
<?php
$lang = "\t\t\t\tc c++ java c# perl php python\t\t";
$lang = trim($lang); // $lang değişkeninin başındaki ve sonundaki yatay sekme karakterleri silinir
?>

İkinci bir parametre olarak bir ifade de verilebilir.

<?php
$lang = "^^^c c++ java c# perl php python^^^^";
$lang = trim($lang, "^"); // $lang değişkeninin başındaki ve sonundaki ^ işaretleri silinir
?>

strlen()

değiştir

Karakter dizisinin uzunluğunu döndürür.

<?php
$lang = "c c++ java c# perl php python";
echo strlen($lang); // 29 çıktılar
?>

strrev()

değiştir

Bir karakter dizisini ters çevirir.

<?php
$lang = "c c++ java c# perl php python";
echo strrev($lang); // nohtyp php lrep #c avaj ++c c çıktılar
?>

strstr()

değiştir

Karakter dizisindeki belli bir ifadeden sonraki kısmı alır.

<?php
$mekan = "wikibooks.org";
echo strstr($mekan, "."); // .org çıktılar
?>

Üçüncü parametre olarak true verilirse önceki kısmı alır.

<?php
$mekan = "wikibooks.org";
echo strstr($mekan, ".", true); // wikibooks çıktılar
?>

Karakter dizisindeki \n satır sonu karakterini HTML satır sonu karakteri olan <br /> etiketiyle değiştirir.

<?php
$mekan = "PHP\nProgramlama Dili";
echo nl2br($mekan);
?>

Kaynak kod çıktısı:

PHP<br />
Programlama Dili

ASCII numarası verilen bir karakter döndürür.

<?php
$char = chr(78);
echo $char; // N çıktılar
echo chr(118); // v çıktılar
?>

İlgili olarak bkz: ASCII tablosu

Bir karakterin ASCII numarasını döndürür.

<?php
$ascii_no = ord("T");
echo $ascii_no; // 84 çıktılar
echo ord("d"); // 100 çıktılar
?>

İlgili olarak bkz: ASCII tablosu

parse_str()

değiştir

Bir karakter dizisindeki değişkenleri bulur.

<?php
// example.com/index.php?form=giris&statu=premium
$sorgu = "form=giris&statu=premium";
parse_str($sorgu);
echo $form; // giris çıktılar
echo $statu; // premium çıktılar
?>

İkinci bir parametre verilirse bir dizi oluşur.

<?php
// example.com/index.php?form=giris&statu=premium
$sorgu = "form=giris&statu=premium";
parse_str($sorgu, $dizi);
var_dump($dizi);
?>

Çıktısı:

array(2) {
  ["form"]=>
  string(5) "giris"
  ["statu"]=>
  string(7) "premium"
}

ucfirst()

değiştir

Karakter dizisinin ilk harfini büyük yapar.

<?php
$mekan = "vikikitap";
echo ucfirst($mekan); // Vikikitap çıktılar
?>

ucwords()

değiştir

Karakter dizisindeki sözcüklerin ilk harfini büyük yapar.

<?php
$str = "programlama dili";
echo ucwords($str); // Programlama Dili çıktılar
?>

Karakter dizisinin MD5 algoritmasıyla şifrelenmiş halini döndürür.

<?php
$mekan = "Vikikitap";
echo md5($mekan); // 27caee531ad2fc4bca4c0624166e7e03 çıktılar
?>

Ek bilgi için bkz: MD5

Karakter dizisinin SHA-1 algoritmasıyla şifrelenmiş halini döndürür.

<?php
$mekan = "Vikikitap";
echo sha1($mekan); // d8dcfc5b295f703042d9f6696737687515d9f3ab çıktılar
?>

Ek bilgi için bkz: SHA-1

quotemeta()

değiştir

( ) [ ] $ . ^ + ? * \ işaretlerinin başına ters bölü getirir.

<?php
$mekan = "Vikikitap";
echo quotemeta($mekan); // \^Vi\*ki\.ki\?ta\[p\) çıktılar
?>