PHP memiliki banyak cara untuk menangani pengecekan variabel. Ada fungsi yang memeriksa setiap jenis seperti is_array, is_object atau is_bool dan ada fungsi yang dapat digunakan untuk memeriksa beberapa kondisi sekaligus. Hari ini kita akan membahas perbedaan antara is_null(), empty() dan isset(). Pertama mari kita jelaskan apa yang dilakukan masing-masing
is_null()
Fungsi ini hanya memeriksa apakah suatu variabel memiliki nilai null, tetapi tidak mencakup kasus ketika variabel tersebut tidak terdefinisi atau untuk kasus ketika nilai akan dievaluasi menjadi nilai kosong
Mari kita lihat beberapa contoh
<?php $myvar = NULL; is_null($myvar); // This is TRUE $myvar = 0; is_null($myvar); // This is FALSE $myvar = FALSE; is_null($myvar); // This is FALSE $myvar = ''; is_null($myvar); // This is FALSE is_null($some_undefined_var); //This is also TRUE .. but the script throws a notice because $some_undefined_var doesn't existHarap perhatikan bahwa variabel nol tidak sama dengan variabel yang tidak ditentukan. Bahkan jika keduanya mengevaluasi ke NULL, PHP akan melalui pemberitahuan yang mengatakan. "Memperhatikan. Variabel tidak terdefinisi. X masuk. "
isset()
Fungsi ini memeriksa apakah suatu variabel didefinisikan (a. k. a ada) dalam skrip Anda. Namun, isset() juga melihat variabel yang memiliki nilai nol sebagai tidak disetel (jika Anda menggunakan kata-kata fungsi secara harfiah)
Ini bisa sedikit membingungkan tetapi beberapa contoh akan menunjukkan dengan tepat apa yang saya maksud
<?php $myvar = NULL; isset($myvar); // This is FALSE $myvar = 0; isset($myvar); // This is TRUE $myvar = FALSE; isset($myvar); // This is TRUE $myvar = ''; isset($myvar); // This is TRUE isset($some_undefined_var); // This is FALSE _kosong()
Fungsi ini memeriksa apakah suatu variabel mengevaluasi apa yang dilihat PHP sebagai "falsy" (a. k. nilai kosong). Dikatakan demikian, sebuah variabel kosong jika tidak terdefinisi, null, false, 0 atau string kosong
Untuk lebih memahami cara kerja kosong. Anda harus menganggap fungsi ini sama dengan. . isset($var). $var==salah
Berikut beberapa contohnya
<?php $myvar = NULL; empty($myvar); // This is TRUE $myvar = 0; empty($myvar); // This is TRUE $myvar = FALSE; empty($myvar); // This is TRUE $myvar = ''; empty($myvar); // This is TRUE empty($some_undefined_var); // This is TRUESebagai penutup, ingatlah untuk SELALU melakukan pengecekan variabel Anda. Ini sangat penting dalam PHP yang bukan bahasa pemrograman yang diketik secara ketat sehingga programmer perlu memberikan perhatian khusus
Artikel ini mengajarkan Anda cara memeriksa string bukan null dan string kosong di PHP. Kami akan menggunakan fungsi PHP empty() dan is_null() bersama dengan operator negasi
Periksa Not Null Menggunakan is_null() di PHP
Fungsi PHP is_null akan memeriksa apakah suatu variabel adalah null atau tidak. Sementara itu, Anda dapat menambahkannya dengan operator negasi, dan ini akan memeriksa apakah variabelnya bukan nol
Di PHP, operator negasi adalah tanda seru (!). Kami menyajikan contoh di bawah ini di mana kami memeriksa apakah suatu string bukan nol
" . $sample_string . " is not null."; } else { echo "Your variable is null."; } ?>
Keluaran
Your variable I am a string is not null. _
Periksa String Kosong Menggunakan empty() di PHP
Fungsi PHP empty() memungkinkan Anda untuk memeriksa string kosong. Selain itu, fungsi empty()_ dapat memeriksa nilai lain yang dianggap kosong oleh PHP
Dalam contoh berikut, kami menggunakan fungsi empty() untuk menguji string kosong di antara nilai lainnya
Anda dapat menggunakan fungsi PHP empty() untuk mengetahui apakah suatu variabel kosong atau tidak. Variabel dianggap kosong jika tidak ada atau nilainya sama dengan FALSE
Mari kita coba contoh berikut untuk memahami bagaimana fungsi ini pada dasarnya bekerja
";
if(empty($var2)){
echo 'This line is printed, because the $var2 is empty.';
}
echo "
";
if(empty($var3)){
echo 'This line is printed, because the $var3 is empty.';
}
echo "
";
if(empty($var4)){
echo 'This line is printed, because the $var4 is empty.';
}
echo "
";
if(empty($var5)){
echo 'This line is printed, because the $var5 is empty.';
}
?>
Catatan. Fungsi empty() tidak menghasilkan peringatan jika variabel tidak ada. Artinya empty() sama dengan !isset($var) || $var == false
Anda akan menggunakan variabel di hampir setiap program yang Anda tulis menggunakan PHP. Sebagian besar variabel ini memiliki nilai, dan kami biasanya membuatnya dengan nilai awal. Namun, selalu ada kemungkinan beberapa variabel yang Anda gunakan tidak diinisialisasi. Ini dapat mengakibatkan peringatan dari PHP tentang penggunaan variabel yang tidak terdefinisi
Ada banyak alasan untuk variabel yang tidak terdefinisi. Yang paling umum adalah Anda sebenarnya tidak mendefinisikan variabel atau Anda membuat kesalahan ejaan saat menggunakannya kembali di tempat lain. Ini hanya bug pemrograman. Namun, kemungkinan lain yang dapat menghasilkan variabel yang tidak terdefinisi adalah variabel tersebut telah didefinisikan secara kondisional
Anda juga mungkin menemukan bahwa variabel memiliki nilai echo 'Do you like '.$fruit.'?'; 5. Ini juga bisa terjadi karena beberapa alasan. Misalnya, variabel mungkin belum diinisialisasi dengan nilai. Atau nilai nol mungkin dikembalikan dari suatu fungsi untuk menandakan semacam kesalahan
Bagaimanapun, menggunakan variabel sebelum didefinisikan atau ketika memiliki nilai nol dapat memiliki konsekuensi yang tidak diinginkan. Dalam tutorial ini, saya akan menunjukkan kepada Anda cara memeriksa apakah suatu elemen telah ditentukan dan melihat apakah itu kosong atau nol
Anda dapat menggunakan echo 'Do you like '.$fruit.'?'; _6, echo 'Do you like '.$fruit.'?'; 7, atau echo 'Do you like '.$fruit.'?'; 8 untuk memeriksa apakah salah satu atau semua kondisi tersebut benar atau salah
Definisi
Mari kita mulai dengan beberapa definisi
- echo 'Do you like '.$fruit.'?'; _9. Anda dapat menggunakan echo 'Do you like '.$fruit.'?'; _9 untuk menentukan apakah suatu variabel dideklarasikan dan berbeda dari <?php 01
- <?php _02. Ini digunakan untuk menentukan apakah variabel ada dan nilai variabel tidak mengevaluasi <?php 03
- <?php _04. Fungsi ini digunakan untuk memeriksa apakah suatu variabel adalah <?php 01
PHP echo 'Do you like '.$fruit.'?'; _9 vs. <?php _02
Seperti yang kita lihat dari definisi, echo 'Do you like '.$fruit.'?'; _9 akan mengembalikan <?php 09 jika kita telah mendefinisikan variabel sebelumnya dan menetapkan nilainya ke sesuatu selain echo 'Do you like '.$fruit.'?'; 5. Ini dapat mencakup <?php _11, string kosong, atau <?php 03. Di sisi lain, <?php _02 akan mengembalikan <?php 09 setiap kali nilai variabel disetel ke sesuatu yang mengevaluasi ke <?php 03—kami menyebutnya nilai "palsu". Contoh nilai falsey termasuk <?php _11, string kosong <?php 17 dan string <?php 18, array kosong, echo 'Do you like '.$fruit.'?'; 5, atau tentu saja boolean <?php 03
Satu kesamaan antara echo 'Do you like '.$fruit.'?'; 9 dan <?php 02 adalah bahwa keduanya merupakan konstruksi bahasa dan oleh karena itu tidak dapat dipanggil menggunakan fungsi variabel
Cuplikan kode berikut harus menjelaskan perbedaan antara keduanya
1<?php 23$fruit = ''; 45if(isset($fruit)) { 6 echo 'Do you like '.$fruit.'?'; <?php 0<?php 1<?php 2<?php 3<?php 4<?php 5<?php 6<?php 7 echo 'Do you like '.$fruit.'?'; <?php 9<?php 12122232425
Perhatikan bahwa <?php _02 dapat ditulis menggunakan fungsi echo 'Do you like '.$fruit.'?'; 9
________34__12_______23304325<?php 16<?php 025
Tentu saja, biasanya lebih mudah menggunakan fungsi <?php 02 bawaan
PHP echo 'Do you like '.$fruit.'?'; _9 vs. <?php _04
Fungsi <?php _04 mengembalikan <?php 09 jika nilai variabel telah ditetapkan secara eksplisit ke echo 'Do you like '.$fruit.'?'; 5. Jika tidak, itu hanya mengembalikan <?php _03. Di sisi lain, echo 'Do you like '.$fruit.'?'; _9 akan mengembalikan <?php 09 selama variabel didefinisikan dan nilainya bukan echo 'Do you like '.$fruit.'?'; 5
Berikut adalah contoh dasar untuk menunjukkan perbedaan di antara mereka
1<?php 23$fruit = ''; 245if(isset($fruit)) { 6 echo 'Do you like '.$fruit.'?'; <?php 0<?php 1<?php 222<?php 4<?php 544<?php 746<?php 9<?php 12150232425
PHP <?php _02 vs. <?php _04
Fungsi <?php _02 mengembalikan <?php 09 jika nilai variabel bernilai <?php 03. Ini bisa berarti string kosong, echo 'Do you like '.$fruit.'?'; _5, integer <?php 11, atau array tanpa elemen. Sebaliknya, <?php _04 akan mengembalikan <?php 09 hanya jika variabel memiliki nilai echo 'Do you like '.$fruit.'?'; 5
Berikut adalah contoh dasar untuk menunjukkan perbedaan di antara mereka
1<?php 235845if(isset($fruit)) { 16if(isset($fruit)) { 3<?php 0if(isset($fruit)) { 5<?php 2if(isset($fruit)) { 7<?php 4if(isset($fruit)) { 9<?php 561<?php 7<?php 1<?php 96521236824 echo 'Do you like '.$fruit.'?'; 0 echo 'Do you like '.$fruit.'?'; 1<?php 1 echo 'Do you like '.$fruit.'?'; 3 echo 'Do you like '.$fruit.'?'; 4
Poin Penting untuk Diingat
Ada dua tips yang bisa Anda gunakan untuk menulis kode yang lebih ringkas dan menghindari kesalahan di masa mendatang
1. Tidak seperti <?php _02 dan <?php 04, Anda dapat meneruskan beberapa nilai ke echo 'Do you like '.$fruit.'?'; 9 sekaligus untuk memeriksa secara bersamaan apakah salah satu dari nilai tersebut tidak terdefinisi atau disetel ke echo 'Do you like '.$fruit.'?'; 5. Dalam hal ini, echo 'Do you like '.$fruit.'?'; _9 hanya akan mengembalikan <?php 09 jika tidak ada nilai yang diteruskan adalah echo 'Do you like '.$fruit.'?'; 5
2. Jangan gunakan <?php _52 untuk memeriksa apakah nilainya echo 'Do you like '.$fruit.'?'; 5. Ini akan memberikan false positive untuk nilai falsey seperti string kosong yang bernilai <?php 03
Pikiran Akhir
Tutorial ini dengan cepat menjelaskan perbedaan antara echo 'Do you like '.$fruit.'?'; _9, <?php 02, dan <?php 04. Mudah-mudahan, Anda sekarang dapat menentukan mana yang tepat untuk Anda gunakan dalam kode Anda