Membenarkan fungsi ereg yang telah ditinggalkan (deprecated) di PHP 5.3

Jika anda mengupgrade ke PHP 5.3, kemungkinan besar anda akan menemukan beberapa peringatan (warning) dari fungsi-fungsi PHP yang telah ditinggalkan.

Sebagai contoh adalah fungsi ereg dan teman-temannya. Fungsi ini dihilangkan untuk meningkatkan performa kerja serta mengoptimalkan fungsi preg yang kompatibel dengan Perl.

Kejadian ini saya alami ketika menginstall salah satu CMS yang ternyata masih menggunakan fungsi-fungsi ereg, otomatis peringatan muncul dan CMS tidak bisa berjalan dengan sempurna.

Untuk itu saya harus mengubah fungsi ereg dengan preg.

Proses mengubah dari fungsi ereg() :

ereg('\.([^\.]*$)', $source_file, $extension);

menjadi

preg_match('/\.([^\.]*$)/', $source_file, $extension);

Perhatikan bahwa saya menambahkan karakter / pada awal dan akhir pola (\.([^\.]*$)), dimana adalah RegExp delimiters.

Proses untuk mengubah dari fungsi ereg_replace() :

$target = ereg_replace('[^A-Za-z0-9_]', '', $target);

Menjadi

$target = preg_replace('/[^A-Za-z0-9_]/', '', $target);

Perhatikan pattern yang saya tambahkan delimiter /.

Jika anda menggunakan eregi (versi case-sensitive dari ereg), anda tidak bisa mengubahnya ke pregi, karena tidak ada fungsi tersebut.

Untuk menanggulanginya maka dapat dengan cara menambahkan i setelah delimiter pada pola.

eregi('\.([^\.]*$)', $source_file, $extension);

menjadi

preg_match('/\.([^\.]*$)/i', $source_file, $extension);

Have fun with coding :-D

if you think this article is useful (Y) , please leave a comment.. ;-)

© 2010, Christian Chandra. All rights reserved. Find out more at http://blog.christianchandra.com

Fungsi dari sintak print_r di PHP

Tahukah anda?

Bahwa salah satu sintak yang sangat penting dalam PHP adalah print_r()

Pernahkah anda bingung apa saja isi dari sebuah array??

Sekarang anda tidak perlu bingung lagi..

Karena print_r() berfungsi untuk mencetak isi dari array baik itu conventional array maupun object array.

Sebagai contoh saya mempunyai array bernama myarray dengan isi sebagai berikut


<?php
/* array bernama myarray berisikan data */
$myarray = array ( 'datasatu' => 20, 'datadua' => 50, 'datatiga' => 30 );
/* cetak isinya dengan print_r */
print_r($myarray);
?>

Maka akan menghasilkan output

Array ( [datasatu] => 20 [datadua] => 50 [datatiga] => 30 )

Sintak print_r() ini juga berlaku untuk array object (stdClass)

perhatikan contoh berikut


<?php
/* pembuatan object berserta pengisian data kedalamnya */
 $obj = new stdClass;
 $obj->datasatu = 20;
 $obj->datadua = 50;
 $obj->datatiga = 30;
/* cetak isinya dengan print_r */
 print_r( $obj );
?>

maka akan menghasilkan output

stdClass Object ( [datasatu] => 20 [datadua] => 50 [datatiga] => 30 )

Demikian juga multi-dimensional array, print_r() akan mencetak isi hingga level terdalam dari array tersebut.

Have fun with coding :-D

if you think this article is useful (Y) , please leave a comment.. ;-)

© 2010, Christian Chandra. All rights reserved. Find out more at http://blog.christianchandra.com