Christian Chandra

Posts tagged php

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