Trik / Rahasia PHP yang jarang diketahui

Sebenarnya lebih tepat aturan bukan rahasia, tapi karena orang jarang yang tahu makanya kadang disebut rahasia, hal ini dilupakan karena mungkin tidak terlalu penting atau juga karena memang tak peduli, padahal menurut ane, ini merupakan sesuatu yang bisa jadi nilai tambah ketika melakukan koding, ataupun ketika interview masalah PHP.

Berikut ini adalah beberapa aturan-aturan dalam PHP yang jarang diketahui oleh kebanyakan programmer,,

  1. Fungsi dalam PHP incase-sensitif.
    Termasuk built-in fungsi dari PHP, fungsi echo bisa dipanggil dengan Echo, ECHO atau yang lainnya.

  2. constant case-sensitif.
    const VAR = “variabel”,
    maka nilai VAR diatas hanya bisa dipanggil dengan VAR, error jika dipanggil dengan Var.

  3. keyword PHP seperti NULL incase-sensitif
    NULL, null, NUll dan yang lainnya adalah sama.

  4. Single quote (’) dan Double quote(") adalah sama-sama string, tapi single quote tidak menerjemahkan nilai variabel.

    $v = ‘variabel’;
    echo ’nilai variabel = $x’; // mencetak nilai variabel = $x
    echo “nilai variabel = $x”; // mencetak nilai variabel = variabel

  5. close tag pada baris comment tetap dianggap sebagai penutup tag PHP.

    echo “test”;
    // close tag pada comment ini akan dianggap sebagai close tag dari kode php yang dibuat ?>

  6. Nilai false pada PHP

1. keyword **false**.
2. Keyword **NULL**
3. integer 0
4. floating point 0.0
5. empty string ("")
6. string "0"
7. array dengan jumlah element nol.
8. object tanpa nilai atau tanpa fungsi.
  1. Variabel yang tidak diinisialisasikan bernilai NULL.

  2. Nilai sebuah variabel bisa dijadikan variabel dengan double dollar ($$).

    $v = “satu”;
    $$v = 1;

Pada kode diatas baris kedua akan menciptakan sebuah variabel baru yaitu $satu yang bernilai 1.

  1. Variabel alias bisa dengan menggunakan ampersand(&).

    $x = “satu”;
    $y =& $x ;

Jika kita merubah nilai $y otomatis akan merubah nilai $x juga.

  1. Jika sebuah variabel alias diberikan perintah unset maka variabel aslinya tidak berubah.

    $x = “satu”;
    $y =& $x ;
    echo “Nilai x = $x\n”;
    echo “Nilai y = $y\n”;
    $y = “dua”;
    echo “Nilai x setelah y diruba $x\n”;
    echo “Nilai y setelah dirubah $y\n”;
    unset($y);
    echo “Nilai x setelah y diunset $x\n”;
    echo “Nilai y setelah diunset $y\n”;

Pada baris terakhir akan menghasilkan error karena y telah dirubah.

  1. Selain menggunakan != untuk pertidaksamaan bisa juga dengan <>

  2. Persamaan dengan 3 samadengan (===) bernilai TRUE jika kedua variabel yang dijadikan perbandingan mempunyai _nilai dan type data yang sama _

  3. Int + Float, maka Int akan dirubah menjadi Float terlebih dahulu.

  4. String + Float, maka String dirubah menjadi Float.

  5. String + Int, String dirubah menjadi Number, jika Number adalah Float maka Int dirubah menjadi Float.

  6. String bisa di Increment.

  7. Operasi pada String dilakukan pada semua huruf sesuai posisinya.
    “satu” | “dua” sama dengan “s”|“d”, “a”|“u”, “t”|“a”

  8. Fungsi bisa bersarang(nested)

    function induk() {
    echo “ini dari fungsi induk\n”;
    function anak() {
    echo “ini dari fungsi anak\n”;
    }
    }

Untuk memanggil fungsi anak() maka fungsi induk harus dipanggil terlebih dahulu.

  1. Memanggil fungsi bisa dengan nilai pada variabel.

    function test(){
    echo “ini fungsi test\n”;
    }
    $var = “test”;
    $var();

Perintah terakhir diatas adalah memanggil fungsi test().

  1. Selain dengan function, untuk membuat fungsi bisa dengan create_function().
  2. Didalam double-quote nilai variabel yang ingin diambil bisa dipisahkan dengan {}.
  3. Jika escape karakter tidak diketahui, maka akan diignore atau diabaikan.
  4. echo bukanlah fungsi, karena itu echo lebih cepat dari print.
  5. Karakter yang akan dihapus oleh trim, ltrim, rtrim

" "

0x20

Space

“\t”

0x09

Tab

“\n”

0x0A

Newline(linefeed)

“\r”

0x0D

Carriage Return

“\0”

0x00

Null Byte

“\x0B

0x0B

Vertical Tab

  1. Fungsi trim() bisa juga untuk menghapus karakter lain, dengan mengisi variabel kedua pada fungsi tersebut.

    $var = “XsatuX”;
    echo ltrim($var, “X”);

Kode diatas akan mencetak “satuX”;

  1. substr_replace() bisa digunakan untuk insert atau delete karakter.
  2. join() adalah alias dari implode(), sizeof() juga alias dari count().
  3. preg_match() bisa untuk mengcapture teks, tapi tak lebih dari 99 karakter.
  4. $variabel[3] sama dengan $variabel[‘3’] tapi tidak dengan** $variabel[‘03’]**
  5. $variabel[index] sama dengan** $variabel[‘index’]**, tapi yang pertama lebih lambat karena PHP akan melakukan cek terhadap nilai constant terlebih dahulu.
  6. Jika perintah pada opsi diatas dilakukan pada string atau diapit double-quote maka cara yang benar adalah cara pertama ($variabel[index]).
  7. array_push($array, 1) sama dengan $array[] = 1
  8. Kecuali natsort()_ dan _natcasesort(), fungsi sort yang lainnya melakukan sorting berdasarkan ascii value.

Normal SortAscii Sort

1.txt

1.txt

5.txt

10.txt

10.txt

5.txt

Referensi:
php-manual_