You are on page 1of 11

Variabel Dasar-dasar Variabel dalam PHP ditandai dengan karakter dollar kemudian diikuti dengan nama variabelnya sendiri.

Nama variabel membedakan antara huruf kecil dan besar (casesensitive). Nama variabel mengikutai aturan yang sama dengan label yang lain dalam PHP. Nama variabel yang diperbolehkan dimulai dengan huruf atau garis-ba ah! kemudian diikuti dengan huruf! angka atau garis-ba ah. Dalam regular e"pression! akan dituliskan sebagai # $%a-&'-()*"+f-*"ff,%a-&'-(--.)*"+f-*"ff,/$ 0atatan# 1ntuk keperluan kita di sini yang dimaksud dengan huruf adalah a-&! '-(! dan karakter '2033 dari 45+ hingga 566 (-"+f--"ff). 4 5 7var 8 9:ob9; < 7Var 8 9=oe9; > echo 97var! 7Var9; ?? menghasilkan 9:ob! =oe9 6 @ 7>site 8 $not yet$; ?? tidak boleh; dimulai dengan angka + 7)>site 8 $not yet$; ?? boleh; dimulai dengan garis-ba ah A 7tByte 8 $mansikka$; ?? boleh; $B$ adalah '2033 55A. . Dalam PHP! variabel selalu diisi dengan nilai. Dengan kata lain! ketika anda mengisikan sebuah ekspresi pada suatu variabel! semua nilai ekspresi asal akan disalin ke dalam variabel tuCuan. 3ni berarti setelah mengisikan nilai suatu variabel ke variabel yang lain! Cika kita mengubah nilai salah satu variabel tidak akan mempengaruhi variabel yang lain. 1ntuk lebih Celas mengenai pengisian ini! lihat Dkspresi. PHP> memberikan cara lain untuk mengisikan nilai ke variabel# assign by reference. 'rtinya! variabel yang baru meruCuk (dengan kata lain! 9menCadi alias untuk9 atau 9menunCuk pada9) variabel asal. Perubahan pada variabel yang baru akan mempengaruhi variabel asal! dan sebaliknya. 3ni Cuga berarti tidak ada proses penyalinan; sehingga pengisian variabel bekerCa lebih cepat. 'kan tetapi perlu diingat peningkatan kecepatan hanya dapat diamati pada pengulangan yang banyak atau pada pengisian array atau obCek yang besar. 1ntuk mengisikan dengan ruCukan! cukup menuliskan karakter ampersand (E) di a al variabel yang akan diisikan (variabel asal). 2ebagai contoh! akan mencetak output FNama saya :obF dua kali. 4 5 GHphp < 7foo 8 F:obF; ?? Iengisikan kata F:obF ke variabel 7foo > 7bar 8 E7foo; ?? IeruCuk pada 7foo melalui 7bar. 6 7bar 8 9Nama saya 7bar9; ?? Ienimpa variabel 7bar dengan nilai yang baru @ echo 7foo; ?? 7foo akan ditimpa Cuga.

+ echo 7bar; A HJ . 2atu masalah penting yang harus diingat adalah! hanya nama variabel yang bisa diisikan dengan ruCukan. 4 5 GHphp < 7foo 8 56; > 7bar 8 E7foo; ?? Pengisian yang diperbolehkan. 6 7bar 8 E(5> / +); ?? Kidak bolehL; tidak meruCuk pada nama variabel. @ + function test() M A return 56; .N 444 7bar 8 Etest(); ?? Kidak benar; karena tes() adalah fungsi. 45 HJ 4<

Variabel-variabel Kerdefinisi PHP menyediakan banyak variabel yang telah terdefinisi untuk semua skrip yang diCalankannya. :anyak dari variabel-variabel ini! tidak dapat didokumentasikan sepenuhnya karena sangat tergantung pada server yang diCalankan! versi dan setup server! dan faktor yang lainnya. :eberapa variabel tidak bisa didapatkan Cika PHP diCalankan pada mode perintah baris (command-line). Kanpa melihat faktor-faktor tersebut! disini diberikan variabel terdefinisi yang bisa dipakai Cika PHP< berCalan sebagai module server 'pache. 1ntuk mendapatkan daftar variabel terdefinsi (dan informasi yang lain)! silahkan lihat (dan gunakan) phpinfo(). 0atatan# Daftar berikut hanyalah petunCuk sederhana mengenai variabel terdefinisi yang anda harapkan dapat anda pakai dalam skrip anda. Variable-variabel dari 'pache Variabel-variabel ini dibuat oleh ebserver 'pache. =ika anda menCalankan ebserver yang lain! tidak ada Caminan ia menyediakan variabel-variabel yang sama; mungkin ia tidak menyediakan beberapa variabel tapi menyediakan variabel lain yang tidak disebutkan disini. :oleh dikatakan! kebanyakan dari variabel-variabel ini disebutkan di spesifikasi 0O3 4.4 Cadi masih ada harapan untuk bisa memakainya. 2ebagai catatan! beberapa dari variabel-variabel ini bisa dipakai (atau punya arti) Cika PHP diCalankan dari perintah baris. O'KDP'Q)3NKDRS'0D

Revisi spesifikasi 0O3 yang digunakan oleh server! misalnya; i.e. F0O3?4.4F. 2DRVDR)N'ID Nama host server dimana skrip diCalankan. =ika skrip diCalankan pada virtual host! maka variabel ini akan berisi nilai yang didefinisikan untuk virtual host tersebut. 2DRVDR)2TSKP'RD 2tring identifikasi string! diletakkan di dalam header ketika menangapi permintaan. 2DRVDR)PRTKT0TU Nama dan revisi protokol informasi darimana permintaan dilakukan; misalnya FHKKP?4.-F. RDV1D2K)IDKHTD Ietode permintaan yang dipakai ketika mengakses halaman; misalnya FODKF! FHD'DF! FPT2KF! FP1KF. 1DRQ)2KR3NO 2tring permintaan! Cika ada! darimana halaman diakses. DT01IDNK)RTTK Direktori dokumen root dimana didalamnya berisi skrip yang sedang dilaksanakan! seperti didefinisikan di file konfigurasi server. HKKP)'00DPK :erisi 'ccept#header permintaan! Cika ada. HKKP)'00DPK)0H'R2DK :erisi 'ccept-0harset# header permintaan! Cika ada. 0ontoh# Fiso-AA6.-4!/!utf-AF. HKKP)DN0TD3NO :erisi 'ccept-Dncoding# header permintaan! Cika ada. 0ontoh# Fg&ipF. HKKP)'00DPK)U'NO1'OD :erisi 'ccept-Uanguage# header permintaan! Cika ada. 0ontoh# FenF. HKKP)0TNND0K3TN :erisi 0onnection# header permintaan! Cika ada. 0ontoh# FWeep-'liveF. HKKP)HT2K :erisi Host# header permintaan! Cika ada. HKKP)RDSDRDR 'lamat halaman (Cika ada) yang diberikan oleh bro ser pada halaman yang aktif. Variabel ini diset oleh bro ser pengguna! tidak semua bro ser memberikan variabel ini. HKKP)12DR)'ODNK :erisi 1ser)'gent# header permintaan! Cika ada. 2tring ini menunCukkkan soft are bro ser yang dipakai untuk melihat halaman yang sedang aktif; misalnya; Io&illa?>.6 %en, (X44; 1; Uinu" 5.5.. i6A@). 'nda dapat memakai nilai ini dengan get)bro ser() untuk menyesuaikan kemampuan bro ser pemakai. RDITKD)'DDR 'lamat 3P darimana pengguna melihat halaman saat ini. RDITKD)PTRK Port yang dipakai oleh komputer pemakai untuk berkomunikasi dengan server eb. 20R3PK)S3UDN'ID Nama path absolut dari skrip yang sedang dilaksanakan. 2DRVDR)'DI3N

Nilai yang diberikan untuk direktive 2DRVDR)'DI3N ('pache) dalam file konfigurasi server eb. =ika skrip diCalankan pada host virtual! variabel ini akan berisi nilai yang diberikan untuk host virtual tersebut. 2DRVDR)PTRK Port mesin server yang dipakai oleh server eb untuk berkomunikasi. 1ntuk setup default! akan berisi FA-F; Cika menggunakan 22U! misalnya! nilai ini akan diubah menCadi nomor port berapa saCa yang didefinisikan untuk port HKKP aman. 2DRVDR)23ON'K1RD 2tring ini berisi versi server dan nama host virtual yang ditambahkan pada halaman yang dihasilkan server! Cika diaktifkan. P'KH)KR'N2U'KDD Path dari sript yang sedang berCalan berdasarkan 2istem filenya-(bukan dokumen root); setelah server mengerCakan pemetaan virtual ke real. (0atatan PenerCemah# ini berhubungan sistem file yang dipakai; misalnya untuk linu" kita memakai notasi ? ?htdocs sedangkan untuk indo s?dos kita memakai * *htdocs). 20R3PK)N'ID :erisi path skrip yang sedang berCalan. 3ni sangat berguna untuk halaman-halaman yang perlu meruCuk pada pada diri mereka sendiri. RDV1D2K)1R3 1R3 yang diberikan untuk mengakses halaman yang sedang aktif; misalnya F?inde".htmlF. Variable-variabel Uingkungan Variabel-variabel ini diimport ke dalam variabel global PHP dari variabel lingkungan dimana PHP diCalankan. Webanyakan disediakan oleh program shell dimana PHP diCalankan dan system yang berbeda akan menCalankan program shell yang berbeda pula! daftar yang tetap tidak mungkin diberikan karena variasi ini. 2ilahkan lihat dokumentasi program shell untuk variabel yang diberikan oleh lingkungan shell yang anda pakai. Variabel-variabel yang lain termasuk variabel yang diberikan oleh 0O3! akan diberikan Cuga tidak peduli PHP diCalankan sebagai modul server atau pemroses 0O3. Variable-variabel PHP 3ni adalah variabel yang dibuat oleh PHP sendiri. argv 'rray argument yang diberikan pada skrip. =ika skrip diCalankan dalam mode perintah baris maka variabel ini bisa berisi parameter seperti gaya bahasa 0. Wetika dipanggil dengan metode ODK! variabel ini akan berisi string permintaan yang diberikan. argc :erisi Cumlah variabel yang diberikan saat menCalankan skrip (Cika diCalankan dalam mode perintah baris). PHP)2DUS Nama file yang skrip yang sedang berCalan! relatif terhadap dokumen root. =ika PHP diCalankan sebagai pemroses perintah baris! variabel ini tidak diberikan.

HKKP)0TTW3D)V'R2 'rray asosiatif variabel-variabel yang diberikan kepada skrip le at cookies HKKP. Hanya diberikan Cika pelacakan variabel diaktifkan baik le at direktif konfigurasi track)vars atau direktif GHphp)track)varsHJ. HKKP)ODK)V'R2 'rray asosiatif variabel-variabel yang diberikan kepada skrip le at metode HKKP ODK. Hanya diberikan Cika pelacakan variabel diaktifkan baik le at direktif konfigurasi track)vars atau direktif GHphp)track)varsHJ. HKKP)PT2K)V'R2 'rray asosiatif variabel-variabel yang diberikan kepada skrip le at metode HKKP PT2K. Hanya diberikan Cika pelacakan variabel diaktifkan baik le at direktif konfigurasi track)vars atau direktif GHphp)track)varsHJ. Ruang Uingkup Variabel Ruang lingkup sebuah variabel tergantung dimana ia didefinisikan. Pada umumnya variabel-variabel PHP hanya mempunyai satu ruang lingkup. Ruang lingkup ini meluas kepada file-file yang disisipkan! dengan perintah include atau reYuire. 2ebagai contoh! 4 5 7a 8 4; < include 9b.inc9; >

Disini variabel 7a dapat dipakai dalam skrip b.inc yang disisipkan. Dalam fungsi yang kita definisikan sendiri ruang lingkup fungsi tersebut yang dipakai. 2emua variabel yang digunakan dalam suatu fungsi secara default terbatas pada ruang lingkup fungsi tersebut. 2ebagai contoh! 4 5 7a 8 4; ?/ global scope /? < > Sunction Kest () M 6 echo 7a; ?/ ruCukan ke variabel lokal /? @N + A Kest (); .

2krip ini tidak akan memberikan hasil karena perintah echo meruCuk pada variabel 7a yang berlaku di lokal! dan variabel ini belum diisikan dengan nilai pada ruang lingkup tersebut. 'nda mungkin dapat melihat bah a ini sedikit berbeda bahasa 0! pada 0 variabel global secara otomatis dikenali oleh fungsi kecuali didefinisikan lagi dalam fungsi. 3ni bisa menyebabkan masalah Cika secara tak sengaCa seseorang mengubah

variabel global. Dalam PHP variabel global harus dideklarasikan global di dalam fungsi Cika fungsi tersebut ingin menggunakannya. 0ontoh! 4 5 7a 8 4; < 7b 8 5; > 6 Sunction 2um () M @ global 7a! 7b; + A 7b 8 7a Z 7b; .N 444 2um (); 45 echo 7b; 4<

2krip diatas akan menghasilkan 9<9. Dengan mendeklarasikan 7a dan 7b sebagai variabel global dalam fungsi! semuanya proses yang berhubungan dengan keduanya akan mengubah variabel global. Kidak batasan Cumlah variabel global yang dapat dimanipulasi oleh sebuah fungsi. 0ara kedua untuk mengakses variabel dari ruang lingkup global adalah dengan menggunakan array khusus yang didefinisikan oleh PHP! yaitu 7OUT:'U2. 0ontoh sebelumnya dapat ditulis sebagai berikut! 4 5 7a 8 4; < 7b 8 5; > 6 Sunction 2um () M @ 7OUT:'U2%9b9, 8 7OUT:'U2%9a9, Z 7OUT:'U2%9b9,; +N A . 2um (); 4- echo 7b; 44

'rray 7OUT:'U2 adalah array asosiatif dimana nama variabel global dipakai sebagai key dan isi variabel tersebut adalah nilai elemen arraynya. 2ifat penting lainnya dari ruang lingkup adalah apa yang disebut dengan variabel static. Variabel static hanya terdapat dalam ruang lingkup lokal suatu fungsi! akan tetapi ia tidak

akan kehilangan nilainya Cika pelaksanaan program keluar dari ruang lingkup ini. Perhatikan contoh ini# 4 5 Sunction Kest () M < 7a 8 -; > echo 7a; 6 7aZZ; @N +

Sungsi ini tidak begitu berguna karena setiap ia dipanggil ia akan memberikan nilai pada 7a kemudian mencetak 9-9. 7aZZ yang menaikkan nilai variabel tidak ada gunanya karena Cika fungsi sudah selesai diCalankan variabel 7a akan dihapus. 'gar fungsi ini ada gunanya! supaya tidak kehilangan nilai perhitungan yang berlaku! variabel 7a harus dideklarasikan sebagai static# 4 5 Sunction Kest () M < static 7a 8 -; > echo 7a; 6 7aZZ; @N + 2ekarang setiap fungsi Kest() dipanggil ia akan mencetak nilai 7a dan menaikkan nilainya. Variabel static Cuga menyediakan satu cara yang berhubungan fungsi-fungsi rekursif. 2ebuah fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Wita harus berhatihati menulis fungsi rekursif sebab bisa saCa fungsi tersebut akan berulang terus menerus. 'nda harus yakin ada kondisi yang bisa dipenuhi supaya proses pengulangan berhenti. Sungsi rekursi sederhana berikut akan menghitung sampai 4-! dengan menggunakan variabel static 7count untuk mengetahui kondisi kapan harus berhenti. 4 5 Sunction Kest () M < static 7count 8 -; > 6 7countZZ; @ echo 7count; + if (7count G 4-) M A Kest (); . N 4- 7count--; 44 N 45

Variabel yang berubah-ubah Wadang-kadang lebih mudah Cika kita bisa membuat variabel yang bisa berubah-ubah namanya. Qaitu! nama variabel yang dapat diset dan digunakan secara dinamis. Variabel normal diset dengan perintah seperti berikut! 4 5 7a 8 9hello9; < Variabel yang berubah mengambil nilai sebuah variabel dan memperlakukannya sebagai nama variabel. Pada contoh diatas! hello! dapat dipakai sebagai nama variabel dengan menambahkan dua tanda dollar. Uihat contoh berikut! 4 5 77a 8 9 orld9; < Pada tahap ini dua variabel telah didefinisikan dan disimpan dalam daftar simbol PHP# 7a berisi 9hello9 dan 7hello berisi 9 orld9. =adi! perintah# 4 5 echo 97a 7M7aN9; < akan menghasilkan hasil yang sama seperti! 4 5 echo 97a 7hello9; < keduanya akan mencetak kalimat# hello orld. 1ntuk memakai variabel yang berubah-ubah dengan array! anda harus memperhitungkan masalah yang bisa saCa membingungkan. 2ebagai contoh! Cika anda menulis 77a%4, maka pemroses harus tahu apakah anda bermaksud menggunakan 7a%4, sebagai variabel atau anda menginginkan 77a sebagai variabel dan %4, adalah indeks dari variabel tersebut. 2intaksis untuk menghindari keraguan seperti ini adalah#7M7a%4,N untuk kasus yang pertama dan 7M7aN%4, untuk kasus yang kedua. Variabel-variabel dari luar PHP

Sorm HKIU (ODK dan PT2K) Wetika sebuah formulir dikirimkan pada skrip PHP! semua variabel dari formulir tersebut secara otomatis bisa di pakai dalam skrip PHP. 2ebagai contoh lihat contoh berikut! 0ontoh +-4. Variabel formulir sederhana 4 5 Gform action89foo.php<9 method89post9J < Name# Ginput type89te"t9 name89name9JGbrJ > Ginput type89submit9J 6 G?formJ @

Wetika dikirimkan! PHP akan membuat variabel 7name! yang berisi apa saCa yang diberikan pada field Name# di formulir. PHP Cuga mengerti array dalam konteks variabel-variabel formulir! akan tetapi hanya terbatas pada ukuran satu dimensi. 'nda bisa! sebagai contoh! mengumpulkan variabelvariabel yang berhubungan! atau menggunakan kemampuan ini untuk mengambil nilai dari input select yang banyak. 0ontoh +-5. Variabel formulir yang lebih kompleks. 4 5 Gform action89array.php9 method89post9J < Name# Ginput type89te"t9 name89personal%name,9JGbrJ > Dmail# Ginput type89te"t9 name89personal%email,9JGbrJ 6 :eer# GbrJ @ Gselect multiple name89beer%,9J + Goption value89 arthog9JParthog A Goption value89guinness9JOuinness . Goption value89stuttgarter9J2tuttgarter 2ch abenbrBu 4G?selectJ 44 Ginput type89submit9J 45 G?formJ 4<

=ika track)vars PHP diaktifkan! baik dengan mengunakan setting konfigurasi track)vars atau direktif GHphp)track)varsHJ! maka variable yang dikirimkan melalui metode PT2K atau ODK akan dapat ditemukan dalam array asosiatif global 7HKKP)PT2K)V'R2 dan 7HKKP)ODK)V'R2. Nama-nama Variabel 3I'OD 21:I3K Wetika mengirimkan formulir! kita bisa memakai gambar bukan tombol submit standar dengan tag seperti berikut!

4 5 Ginput type8image src89image.gif9 name89sub9J < 2aat pengguna menekan tombol mouse di dalam daerah gambar! formulir akan dikirim ke server dengan dua variabel tambahan! yaitu sub)" and sub)y. Variabel tersebut akan berisi koordinat dalam gambar yang di klik. :agi yang sudah berpengalaman mungkin dapat melihat nama variabel yang dikirimkan oleh bro ser berisi tanda 9titik9 bukan garis ba ah! akan tetapi PHP akan mengkonversi titik tersebut menCadi garis ba ah secara otomatis. 0ookie HKKP PHP secara transparan mendukung cookies HKKP sebagaimana yang didefinisikan oleh 2pesifikasi Netscape. 0ookies adalah suatu mekanisme untuk menyimpan data di bro ser remote dan mengidentifikasi user. 'nda dapat memberikan cookie menggunakan fungsi 2et0ookie(). 0ookie adalah bagian dari header HKKP! Cadi fungsi 2et0ookie harus dipanggil sebelum output yang lain dikirim ke bro ser. 3ni adalah sama dengan batasan fungsi Header(). 2etiap cookie yang dikirim kepada server dari klien akan otomatis diCadikan variabel PHP seperti halnya data dengan metode ODK dan PT2K. =ika anda ingin memberikan banyak nilai pada satu cookie! tambahkan %, pada nama cookie. 2ebagai contoh! 4 5 2et0ookie (9Iy0ookie%,9! 9Kesting9! time()Z<@--); < 2ebagai catatan bah a sebuah cookie akan menimpa cookie sebelumnya dengan nama cookie yang sama kecuali path domainnya berbeda. =adi! untuk keranCang belanCa anda mungkin ingin menyimpan sebuah penghitung dan memakainya nanti. 0ontoh-<. 0ontoh 2et0ookie 4 5 70ountZZ; < 2et0ookie (90ount9! 70ount! time()Z<@--); > 2et0ookie (90art%70ount,9! 7item! time()Z<@--); 6

Variabel-variabel Uingkungan PHP secara otomatis akan membuat variabel lingkungan menCadi variabel PHP seperti yang lain. 4

5 echo 7HTID; ?/ 2ho s the HTID environment variable! if set. /? < 3nformasi yang datang dari mekanisme ODK! PT2K dan cookie Cuga secara otomatis menciptakan variabel! kadang-kadang lebih baik membaca variabel dari lingkungan secara eksplisit untuk memastikan bah a anda mendapatkan versi yang tepat dari variabel yang bersangkutan. Sungsi getenv() dapat digunakan untuk ini. 'nda Cuga bisa membuat variabel lingkungan dengan fungsi putenv(). Kitik di dalam nama variabel masukan :iasanya! PHP tidak mengabaikan nama variabel Cika mereka diberikan pada suatu skrip. 'kan tetapi! harus diingat bah a tanda 9titik9 adalah karakter yang tidak boleh dipakai sebagai nama variabel dalam PHP. 2ebagai alasan! lihat contoh berikut! 4 5 7varname.e"t; ?/ nama variabel yang tidak diperbolehkan /? < 2ekarang yang dilihat oleh pemroses adalah variabel yang diberi nama 7varname! diikuti operator penggabungan string! kemudian diikuti dengan string biasa (yaitu! string yang tidak diberi tanda petik dan bukan nama yang didefinisikan di tempat lain) Fe"tF. Kentu saCa! ini tidak akan menghasilkan sesuai dengan apa yang diharapkan. Warena alasan ini! harus selalu diingat bah a PHP secara otomatis akan mengganti setiap tanda 9titik9 nama-nama variabel yang diberikan kepadanya dengan garis ba ah. Ienentukan tipe data variabel Warena PHP menentukan tipe variabel dan mengkonversinya Cika perlu! tidak selalu Celas sebuah variabel itu mempunyai tipe apa pada saat tertentu. PHP menyediakan beberapa fungsi yang dapat menentukan Cenis data suatu variabel. Iereka itu adalah gettype()! is)long()! is)double()! is)string()! is)array()! dan is)obCect().

You might also like