Tuesday, July 1, 2008

Mengecek Karakter dengan Regular Expressions

 

Anda mau membuat system check karakter dengan menggunakan Regular Expressions??
Berikut ada script sederhana yang mungkin bisa menjadi inspirasi anda:
<?php
$line = "ilmuwebsite";
if (eregi ("^[a-z]+$", $line)) {
    // .. lakukan jika benar
echo "Benar";
} else {
    // .. lakukan jika salah
echo "Salah";
}
?>
Deskripsi:
Fungsi if : saya kira anda sudah tahu
fungsi eregi : ini adalah fungsi untuk membandingkan
sedangkan ^[a-z]+$ : ini adalah Regular Expressions
Yang berarti:
^ : harus di awal
[a-z] : karakter a sampai z
+ : lebih dari satu
$ : harus di akhir
Jadi artinya:
1. didepan harus ada karakter a-z
2. di tengah ada karakter a-z boleh lebih dari 1
3. di akhir harus ada karakter a-z
Logika:
Bandingkan kombinasi Regular Expressions ^[a-z]+$ dengan strng $line yang ber isi "ilmuwebsite"
jika benar tampilkan tulisan Benar, dan juka salah tampilkan tulisan salah
Ada juga script yang lain:
<?php
if (ereg ("^[[:alpha:]]+$", $line)) {
    // .. lakukan jika benar
echo "Benar";
} else {
    // .. lakukan jika salah
echo "Salah";
}
?>
Penjelasan:
Disin kita menggunakan fungsi ereg yang berarti case sensitif, lalu kita juga menggunakan [[:alpha:]] sebagai alternatif lain dari Regular Expression.
Berikut daftar tabel nya:

Name
Description

[[:alnum:]]
All alphanumeric characters [a-zA-Z0-9]

[[:alpha:]]
All alphabetic characters [a-z]

[[:blank:]]
Tab and space [\t ]

[[:cntrl:]]
All the control characters

[[:digit:]]
All decimal digits [0-9]

[[:graph:]]
All printable characters except space

[[:lower:]]
All lowercase letters [a-z]

[[:print:]]
All printable characters

[[:punct:]]
Punctuation marks [\.,;:-]

[[:space:]]
All whitespace characters

[[:upper:]]
All the uppercase letters [A-Z]

[[:xdigit:]]
The set of hexadecimal digits

Untuk artikel berikutnya saya coba akan jelaskan Regular Expression secara lebih jauh
terimakasih

 

Sumber dari situs Ilmu Website dalam kategori php kuliah

Passing By Value VS Passing By Reference

Di sini saya hanya akan melakukan sedikit review untuk mempermudah pemahaman teman2 tentang Passing By Value dan Passing By Reference dengan cara membandingkannya. Start... ;)

passing by value,

secara default, semua nilai yang di-pass masuk atau keluar dari fungsi adalah passing by value, bukan by reference. ini berarti PHP membuat kopian dari nilai original dan nilai kopian itulah yang kita akses dan kita manipulasi, bukan nilai originalnya.

dengan begitu bagaimanapun kita ubah nilai itu, tidak akan mengubah nilai originalnya...

contoh:

<?php

function jumlah($nilai) {

$nilai++;

}

$input=5;

jumlah($input);

echo $input;

?>

Penjelasan:

Pada saat fungsi jumlah dipanggil,

jumlah($input);

fungsi tersebut akan memasukkan nilai dari variabel $input kedalam argumennya, jadi disini argumen fungsi jumlah adalah 5 (ini adalah nilai aslinya). selanjutnya PHP meng-copy nilai asli tersebut, kemudian hasil copy-nya digunakan untuk proses manipulasi fungsi, sedangkan nilai yang asli dibiarkan tidak berubah. Proses manipulasinya sbb:

$nilai++;

$nilai = $nilai + 1

$nilai = 5 + 1

$nilai = 6

Untuk output,

echo $input;

nilai variabel $input yang diambil disini adalah nilai variabel aslinya, sehingga hasil manipulasi fungsi tadi tidak dipakai, karena bukan nilai asli. Jadi outputnya adalah 5

Tampilan output:

tetapi apabila menggunakan passing by reference akan bernilai 6.

bagaimana outputnya akan bernilai 6? akan saya jelaskan lebih dahulu tentang passing by reference.

passing by reference,

berbeda dengan passing by value yang bersifat mengkopi, passing by reference memberikan nilai aslinya untuk diakses dan dimanipulasi, dengan contoh yang sama seperti diatas, kita akan modifikasi menjadi mekanisme passing by reference.

Untuk mengubah jadi passing by reference, kita hanya cukup menambahkan operator & pada argumennya.

<?php

function jumlah(&$nilai) {

$nilai++;

}

$input=5;

jumlah($input);

echo $input;

?>

Penjelasan:

Sesuai dengan penjelasan passing by reference diatas, nilai yang diakses & dimanipulasi adalah nilai aslinya, dengan begitu hasil manipulasi fungsilah yang gunakan sebagai outputnya, yaitu 6.

Tampilan Outputnya:

Finish... Mudahkan, saya ingatkan lagi bahwa ini hanya sekedar untuk mempermudah pemahaman teman2 saja, sengaja saya menggunakan bahasa yang umum agar lebih mudah dimengerti..

Selamat membaca,

Semoga berguna buat teman2 semua.. Amin.

Untuk download file-nya disini

 

Sumber dari situs Ilmu Website dalam kategori php kuliah