Php jika variabelnya kosong. Lembar contekan untuk PHP: FALSE, NULL dan nilai yang terkait dengannya. SALAH dalam pernyataan If

string variabel (12)

Saya memiliki fungsi isNotEmpty yang mengembalikan nilai true jika string tidak kosong dan false jika string kosong. Saya menemukan bahwa itu tidak berfungsi jika saya melewati garis kosong.

Fungsi isNotEmpty($input) ( $strTemp = $input; $strTemp = trim($strTemp); if(strTemp != "") //Juga mencoba "if(strlen($strTemp) > 0)" ( return true ; ) mengembalikan salah ;

String diperiksa menggunakan isNotEmpty:

If(isNotEmpty($userinput["phoneNumber"])) ( //validasi nomor telepon ) else ( echo "Nomor telepon tidak dimasukkan
"; }

Jika barisnya kosong, yang lain tidak dijalankan, saya tidak mengerti mengapa, bisakah seseorang menjelaskan hal ini.

Jawaban

jika Anda memiliki kolom yaitu serial_number dan Anda ingin memeriksa ruang kosong

$nomor_seri = potong($_POST); $q="pilih * dari produk di mana user_id="$_SESSION""; $rs=kueri_mysql($q); while($row=mysql_fetch_assoc($rs))( if(empty($_POST["irons"]))( $irons=$row["product1"]; )

dengan cara ini Anda dapat mengulangi semua loop dalam satu loop dengan fungsi kosong lainnya

Nah, daripada menjawab (saya yakin Anda sudah memperbaiki masalah Anda), saya akan memberi Anda beberapa saran.

Saya tidak tahu tentang orang lain, tapi saya pribadi merasa sangat kesal ketika melihat sesuatu seperti:

Jika(<>) ( mengembalikan nilai benar; ) mengembalikan nilai salah;

ini membutuhkan " return (<>); " Harap selalu melihat kode Anda dan menghapus logika ini. Untuk setiap situasi Anda tidak memerlukan pernyataan IF.

Saya hanya menulis fungsi is_string saya sendiri untuk memeriksa jenis dan strlen untuk memeriksa panjangnya.

Fungsi kosongStr($str) ( return is_string($str) && strlen($str) === 0; ) cetak kosongStr("") ? "kosong" : "tidak kosong"; // kosong

EDIT: Anda juga dapat menggunakan fungsi trim untuk memeriksa apakah suatu string tidak mengandung.

Is_string($str) && strlen(trim($str)) === 0;

PHP memiliki fungsi bawaan yang disebut kosong() Pengujian dilakukan dengan mengetikkan if(empty($string))(...) php.net link: php kosong

Anda punya jawabannya, tetapi dalam kasus Anda, Anda dapat menggunakannya

Kembalikan kosong($input);

Kembalikan is_string($input);

Masalah sederhana. Mengubah:

Jika(strTemp != "")

Jika($strTemp != "")

Mungkin Anda juga bisa mengubahnya menjadi:

Jika($strTemp !== "")

karena != "" akan mengembalikan nilai true jika Anda meneruskan angka numerik 0 dan beberapa kasus lainnya karena konversi tipe otomatis PHP.

Perlu diingat juga bahwa PHP sudah memiliki fungsi kosong().

PHP mengevaluasi string kosong menjadi salah, jadi Anda cukup menggunakan:

If (trim($userinput["phoneNumber"])) ( // validasi nomor telepon ) else ( echo "Nomor telepon tidak dimasukkan
"; }

Saya selalu menggunakan regex untuk memeriksa string kosong, sejak zaman CGI/Perl dan juga Javascript, jadi mengapa tidak PHP misalnya (walaupun belum teruji)

Kembalikan preg_match("/\S/", $input);

Dimana \S mewakili karakter apa pun tanpa spasi

Cukup gunakan fungsi strlen()

Jika (strlen($s)) ( // tidak kosong )

Saya baru-baru ini menanyakan pertanyaan yang sama pada diri saya sendiri.
Ada beberapa kemungkinan solusi, berikut 3 solusi yang valid:

  • s.indexOf(pemula) === 0
  • s.substr(0,starter.length) === starter
  • s.lastIndexOf(starter, 0) === 0 (ditambahkan setelah melihat jawaban Mark Bayer)
  • menggunakan lingkaran:

    Fungsi dimulaiDengan(s,starter) ( untuk (var i = 0,cur_c; i< starter.length; i++) { cur_c = starter[i]; if (s[i] !== starter[i]) { return false; } } return true; }

Saya belum menemukan solusi terakhir yang melibatkan penggunaan loop.
Anehnya, solusi ini secara signifikan lebih unggul dari 3 solusi pertama.
Inilah tes jsperf yang saya jalankan untuk sampai pada kesimpulan ini: http://jsperf.com/startswith2/2

ps: ecmascript 6 (harmoni) memperkenalkan metode startWithnya sendiri untuk string.
Pikirkan berapa banyak waktu yang bisa dihemat jika mereka berpikir untuk memasukkan metode yang sangat dibutuhkan ini dalam versi pertama.

Memperbarui

Perhatikan bahwa ada 2 optimasi loop yang disertakan Steve, yang pertama dari dua menunjukkan kinerja yang lebih baik, jadi saya akan memposting kode di bawah ini:

Fungsi dimulaiDengan2(str, awalan) ( if (str.length< prefix.length) return false; for (var i = prefix.length - 1; (i >= 0) && (str[i] === awalan[i]); --i) melanjutkan;< 0; }

kembalikan saya

Pemrograman modern telah berhasil memanipulasi variabel yang tidak diketik sejak lama. Jenis variabel tidak dapat ditentukan terlebih dahulu dan dapat diubah selama eksekusi program.

Konsep ini telah menjadi dasar dalam paradigma pemrograman umum. Pada awal era pemrograman, bahasa dengan keyakinan menyeluruh yang sama mengharuskan pemrogram untuk menentukan variabel terlebih dahulu dan secara ketat memastikan bahwa tidak ada sesuatu yang ilegal yang ditugaskan padanya. Baik program maupun bahasa pemrograman sebelumnya tidak mengetahui bahwa suatu variabel mengubah tipenya.

Fungsi PHP kosong() adalah kebalikan dari fungsi isset() dan memiliki beberapa fitur penggunaan khusus. Jika tidak ada variabel, maka fungsi pertama merespons positif dan hasilnya benar, dan fungsi kedua merespons negatif, yaitu nilainya salah.

Menurut definisi, isset() dirancang untuk memeriksa keberadaan suatu variabel. Tidak peduli apa dan bagaimana variabel ditetapkan, yang utama adalah variabel itu ada dan tidak dimusnahkan oleh fungsi unset(). Hasil dari fungsi isset() akan positif - benar. Penting untuk diingat bahwa jika $iVar = 0; maka isset($iVar) akan menjadi benar, tetapi kosong($iVar) juga akan menjadi benar.

Dalam kasus pertama, hasilnya berarti variabel tersebut ada, dalam kasus kedua, variabel tersebut kosong, yaitu nilai “0” dalam bentuk apa pun, baik itu string (“0”) atau angka (fraksional - 0,0 atau bilangan bulat - 0) sama: kosong($iVar) akan benar.

Tentang keamanan dan kontrol

Praktek menunjukkan bahwa bahasa yang tidak diketik memberikan lebih banyak kebebasan kepada pemrogram, tetapi berasumsi bahwa sikapnya dalam mengerjakan algoritma lebih bertanggung jawab.

PHP menawarkan sintaks modern yang mendukung semantik mapan, memiliki sedikit kesalahan, namun memerlukan perhatian yang cermat. Misalnya, memanggil fungsi apa pun memerlukan sejumlah parameter tertentu.

Saat memanggil suatu fungsi, sama sekali tidak perlu meneruskan semua parameter; Anda hanya dapat meneruskan sebagian besar parameternya. Fungsi "harus" memeriksa keberadaan dan keberadaan semua parameter. Nilai yang hilang atau salah harus dikembalikan ke bentuk normal dan diberi nilai yang diperlukan.

Dalam konteks ini, fungsi PHP kosong() sangat penting. Ekspresi:

$a = "1;2" + 20

akan menetapkan variabel $a nilai 21, karena bagian pertama dari ekspresi akan direpresentasikan sebagai 1, dan bagian kedua akan menjadi 20.

Hasilnya akan bertipe nomor dan fungsi PHP kosong($a) akan memberikan hasil - salah, yaitu variabel $a tidak kosong.

Dalam konteks ini, mempunyai fungsi:

fungsiUjian($a ​​= 0, $b = 20)

Saat menelepon:

$res = uji fungsi($aVal, $bVal)

akan mendapatkan apa yang diinginkan, yaitu hasil dari fungsinya. Dan ketika dipanggil:

  • $res = funcTest($aVal.$bVal)

Badan fungsi hanya berisi satu parameter dengan nilai "$aVal .$bVal" dan kemungkinan besar parameter ini akan ditafsirkan sebagai string karakter.

PHP kosong() untuk objek dan array

Sintaks bahasa memiliki jumlah konstruksi dan fungsi yang cukup untuk bekerja dengan objek dan array, tetapi dari sudut pandang pemeriksaan keberadaannya dan keberadaan nilai, tidak ada perbedaan khusus dari variabel.

PHP kosong (array) - setara dengan memanggil kosong (variabel sederhana). Namun, ada pertimbangan yang sangat signifikan mengenai objek. Sedangkan untuk memeriksa keberadaan suatu objek (isset), pertanyaannya hampir tidak masuk akal. Sedangkan untuk fungsi PHP kosong(), kelayakan penggunaannya masih dipertanyakan.

Menurut logika pemrograman berorientasi objek, suatu objek memiliki kontennya sendiri dan serangkaian metodenya sendiri. Hanya objek itu sendiri yang dapat mengetahui apakah objek itu kosong atau tidak, tetapi bukan fungsi pihak ketiga, meskipun itu adalah bagian dari sintaks bahasa.

Sebuah objek dan fungsinya kosong()

Atas dasar yang sederhana namun sah ini, setiap objek harus dipertimbangkan dalam konteks pemahamannya tentang “kekosongan”. Misalnya, implementasi objek "Tabel Kepegawaian" terdiri dari catatan "Karyawan". Namun jika tidak ada satupun pegawai, maka di “Staffing List” selalu terdapat pilihan posisi calon pegawai.

Pada level apa saya harus menggunakan fungsi objek kosong PHP di sini? Di tingkat "Kepegawaian", semuanya ada, meskipun tidak ada satu pun karyawan. Pada tingkat "Karyawan", objek sudah ada, meskipun belum terisi penuh. Benda yang tidak terisi penuh dapat digolongkan sebagai benda kosong. Tidak ada manfaatnya bagi meja kepegawaian.

Tergantung pada gaya pemrograman Anda, fungsi PHP kosong() dan isset() sangat penting untuk membangun algoritma yang aman dan dapat diandalkan, namun untuk objek masih lebih baik untuk memiliki varian kosong() yang ditentukan oleh kontennya.

Dalam PHP, nilai FALSE dan NULL serta nilai terkaitnya berbeda dari biasanya dalam bahasa lain dan memiliki fitur tersendiri yang tidak jelas.
Artikel ini membahas fitur-fitur ini.
Bagi pemula, ini berguna untuk melihat gambaran keseluruhan, bagi pembaca berpengalaman - untuk menyegarkan ingatan mereka jika ada nuansa yang hilang dari pikiran mereka.

SALAH dalam pernyataan If

Menurut dokumentasi PHP, nilai-nilai berikut adalah FALSE setelah dilemparkan ke boolean:
  • nilai boolean itu sendiri adalah FALSE
  • string kosong ("") dan string "0".
  • array kosong (array) – array().
  • sebuah objek dengan variabel anggota nol (hanya PHP 4, tidak dibahas dalam artikel ini)
  • nilai NULL khusus (termasuk variabel yang tidak disetel)
  • Objek SimpleXML (tidak dibahas dalam artikel ini)
Artinya jika nilai tersebut diteruskan ke kondisi:
jika (…) gema “1”; lain gema “0”;
maka string "0" akan dicetak.

Jika nilai variabel tidak disetel (unset), maka peringatan juga dapat dikeluarkan. Izinkan kami mengingatkan Anda bahwa peringatan dalam kondisi tersebut dapat dihilangkan dengan menulis @ sebelum variabel.

Misalnya:

Jika (@$undefVar) ( …)
Namun Anda sebaiknya menggunakan @ hanya dalam kasus ekstrim, ketika Anda telah berpikir dengan hati-hati dan tidak ada opsi lain yang sesuai. Lihat fungsi isset().

Fungsi is_null() dan konstruksi bahasa isset() dan kosong()

is_null() mengembalikan TRUE hanya untuk variabel yang tidak diberi nilai apa pun atau yang diberi nilai NULL .
isset() mengembalikan nilai boolean satu-ke-satu dibandingkan dengan is_null() .
Jika variabel tidak diberi nilai, maka is_null() juga mengeluarkan peringatan "Variabel tidak terdefinisi", tidak seperti isset(), yang tidak mengeluarkan peringatan apa pun.
Ingatlah bahwa untuk menghapus nilai suatu variabel, Anda dapat menggunakan fungsi unset(). Anda juga dapat menetapkan nilai NULL untuk tujuan ini untuk menghindari peringatan kompiler ketika mencoba membaca nilai suatu variabel.

Harap dicatat bahwa, tidak seperti variabel, untuk bekerja dengan konstanta Anda harus menggunakan konstruk yang didefinisikan().

Representasi string

Mari kita lihat representasi string dari konstanta palsu.
Misalnya, penggabungan mengubah nilai menjadi string berikut, yang ditunjukkan pada tabel di bawah:

Topik konversi ke string dijelaskan lebih detail di situs resmi di paragraf Konversi ke string.

Operator Perbandingan

Mari beralih ke operator perbandingan.
Semua nilai yang salah mengembalikan nilai benar, seperti yang diharapkan, jika dibandingkan dengan FALSE menggunakan operator " == ".
Namun Anda tidak boleh mengandalkan transitivitas di sini saat membandingkan konstanta string palsu satu sama lain.
Berikut adalah tabel lengkap untuk membandingkan nilai yang salah (plus menunjukkan elemen tabel yang jika dibandingkan menggunakan operator " != ", akan mengembalikan nilai sebenarnya:

$undef – variabel yang belum diberi nilai

Beberapa kesimpulan menarik dapat diambil dari tabel ini:
1. Jika kita tahu bahwa kita hanya menggunakan string, maka kita dapat membandingkannya dengan aman dan tidak khawatir bahwa "" (string kosong) akan sama dengan "0".
2. Array tidak pernah sama dengan string, bilangan bulat, atau bilangan real.

Karena jenis konstanta palsu berbeda-beda, sepasang operator === dan !== dapat digunakan untuk membedakannya.
Operator === mengembalikan nilai salah untuk semua pasangan nilai salah.
Mengembalikan nilai sebenarnya hanya untuk argumen yang salah satunya diberi nilai NULL, dan argumen kedua tidak diberi nilai apa pun.

Perbedaan antara variabel dengan nilai NULL dan variabel tidak terdefinisi

Operator === memungkinkan Anda membedakan semua nilai salah, kecuali variabel dengan nilai NULL, dari variabel yang belum diberi nilai.

Variabel tersebut dapat dibedakan menggunakan fungsi get_definisi_vars().

Jika Anda perlu menentukan apakah suatu nilai telah ditetapkan ke variabel $var, cuplikan kode berikut dapat digunakan untuk melakukannya:
if (array_key_exists("var", get_definisi_vars())) ( echo "var sudah ditentukan"; // $var ditetapkan NULL ) else ( echo "var TIDAK ditentukan"; // $var tidak ditentukan atau tidak disetel($ var) dipanggil)

Kesimpulan

Anda harus selalu ingat bahwa dalam PHP, dua nilai palsu mungkin tidak sama satu sama lain, dan variabel yang sekilas tampak berbeda mungkin ternyata sama jika dibandingkan. Untuk menghindari kejutan seperti itu, Anda dapat menggunakan operator === dan !==.

Saat bekerja dengan array, untuk menghindari kejutan, Anda dapat menulis fungsi untuk mengubah nilai menjadi indeks berbeda yang dijamin. Setelah itu, elemen array hanya dapat diakses dengan menggunakannya. Hal ini mungkin memperlambat program, namun akan membantu menghindari kejutan.

Pengujian dilakukan pada PHP 5.3.1.

Tautan tambahan

1. Tabel perbandingan tipe PHP.
2. String Null dan Kosong MySQl dalam konteks PHP.

Tag: Tambahkan tag

Dalam PHP, nilai FALSE dan NULL serta nilai terkaitnya berbeda dari biasanya dalam bahasa lain dan memiliki fitur tersendiri yang tidak jelas.
Artikel ini membahas fitur-fitur ini.
Bagi pemula, ini berguna untuk melihat gambaran keseluruhan, bagi pembaca berpengalaman - untuk menyegarkan ingatan mereka jika ada nuansa yang hilang dari pikiran mereka.

SALAH dalam pernyataan If

Menurut dokumentasi PHP, nilai-nilai berikut adalah FALSE setelah dilemparkan ke boolean:
  • nilai boolean itu sendiri adalah FALSE
  • string kosong ("") dan string "0".
  • array kosong (array) – array().
  • sebuah objek dengan variabel anggota nol (hanya PHP 4, tidak dibahas dalam artikel ini)
  • nilai NULL khusus (termasuk variabel yang tidak disetel)
  • Objek SimpleXML (tidak dibahas dalam artikel ini)
Artinya jika nilai tersebut diteruskan ke kondisi:
jika (…) gema “1”; lain gema “0”;
maka string "0" akan dicetak.

Jika nilai variabel tidak disetel (unset), maka peringatan juga dapat dikeluarkan. Izinkan kami mengingatkan Anda bahwa peringatan dalam kondisi tersebut dapat dihilangkan dengan menulis @ sebelum variabel.

Misalnya:

Jika (@$undefVar) ( …)
Namun Anda sebaiknya menggunakan @ hanya dalam kasus ekstrim, ketika Anda telah berpikir dengan hati-hati dan tidak ada opsi lain yang sesuai. Lihat fungsi isset().

Fungsi is_null() dan konstruksi bahasa isset() dan kosong()

is_null() mengembalikan TRUE hanya untuk variabel yang tidak diberi nilai apa pun atau yang diberi nilai NULL .
isset() mengembalikan nilai boolean satu-ke-satu dibandingkan dengan is_null() .
Jika variabel tidak diberi nilai, maka is_null() juga mengeluarkan peringatan "Variabel tidak terdefinisi", tidak seperti isset(), yang tidak mengeluarkan peringatan apa pun.
Ingatlah bahwa untuk menghapus nilai suatu variabel, Anda dapat menggunakan fungsi unset(). Anda juga dapat menetapkan nilai NULL untuk tujuan ini untuk menghindari peringatan kompiler ketika mencoba membaca nilai suatu variabel.

Harap dicatat bahwa, tidak seperti variabel, untuk bekerja dengan konstanta Anda harus menggunakan konstruk yang didefinisikan().

Representasi string

Mari kita lihat representasi string dari konstanta palsu.
Misalnya, penggabungan mengubah nilai menjadi string berikut, yang ditunjukkan pada tabel di bawah:

Topik konversi ke string dijelaskan lebih detail di situs resmi di paragraf Konversi ke string.

Operator Perbandingan

Mari beralih ke operator perbandingan.
Semua nilai yang salah mengembalikan nilai benar, seperti yang diharapkan, jika dibandingkan dengan FALSE menggunakan operator " == ".
Namun Anda tidak boleh mengandalkan transitivitas di sini saat membandingkan konstanta string palsu satu sama lain.
Berikut adalah tabel lengkap untuk membandingkan nilai yang salah (plus menunjukkan elemen tabel yang jika dibandingkan menggunakan operator " != ", akan mengembalikan nilai sebenarnya:

$undef – variabel yang belum diberi nilai

Beberapa kesimpulan menarik dapat diambil dari tabel ini:
1. Jika kita tahu bahwa kita hanya menggunakan string, maka kita dapat membandingkannya dengan aman dan tidak khawatir bahwa "" (string kosong) akan sama dengan "0".
2. Array tidak pernah sama dengan string, bilangan bulat, atau bilangan real.

Karena jenis konstanta palsu berbeda-beda, sepasang operator === dan !== dapat digunakan untuk membedakannya.
Operator === mengembalikan nilai salah untuk semua pasangan nilai salah.
Mengembalikan nilai sebenarnya hanya untuk argumen yang salah satunya diberi nilai NULL, dan argumen kedua tidak diberi nilai apa pun.

Perbedaan antara variabel dengan nilai NULL dan variabel tidak terdefinisi

Operator === memungkinkan Anda membedakan semua nilai salah, kecuali variabel dengan nilai NULL, dari variabel yang belum diberi nilai.

Variabel tersebut dapat dibedakan menggunakan fungsi get_definisi_vars().

Jika Anda perlu menentukan apakah suatu nilai telah ditetapkan ke variabel $var, cuplikan kode berikut dapat digunakan untuk melakukannya:
if (array_key_exists("var", get_definisi_vars())) ( echo "var sudah ditentukan"; // $var ditetapkan NULL ) else ( echo "var TIDAK ditentukan"; // $var tidak ditentukan atau tidak disetel($ var) dipanggil)

Kesimpulan

Anda harus selalu ingat bahwa dalam PHP, dua nilai palsu mungkin tidak sama satu sama lain, dan variabel yang sekilas tampak berbeda mungkin ternyata sama jika dibandingkan. Untuk menghindari kejutan seperti itu, Anda dapat menggunakan operator === dan !==.

Saat bekerja dengan array, untuk menghindari kejutan, Anda dapat menulis fungsi untuk mengubah nilai menjadi indeks berbeda yang dijamin. Setelah itu, elemen array hanya dapat diakses dengan menggunakannya. Hal ini mungkin memperlambat program, namun akan membantu menghindari kejutan.

Jika, saat bekerja dengan string, Anda perlu memeriksa apakah suatu string kosong, programmer pemula biasanya menggunakan fungsi tersebut strlen(). Fungsi ini cukup cepat karena tidak melakukan penghitungan apa pun, tetapi hanya mengembalikan nilai panjang string yang sudah diketahui, tersedia dalam zval (PHP menggunakan struktur C untuk menyimpan variabel). Tapi tetap saja, karena strlen()- ini adalah sebuah fungsi, agak lambat karena memerlukan beberapa tindakan saat dipanggil, seperti mengonversi ke huruf kecil dan mencari tabel hash. Dalam beberapa kasus, Anda dapat meningkatkan kecepatan eksekusi kode Anda dengan menggunakan kosong()..., tapi juga kosong() Anda masih bisa mengoptimalkannya sedikit.

Mari kita ambil contoh Misalnya memeriksa jalur gambar, fungsinya memeriksa apakah jalurnya kosong, lalu menggantinya dengan jalur lain, misalnya “images/noimage.jpg”.

Jadi keseluruhan tugasnya adalah memeriksa apakah variabel bertipe string kosong. Mari kita coba 4 cara:

  • jika(strlen($img_path)>0)
  • jika($img_jalur(0))
  • if(kosong($img_path))
  • dan satu cara lagi untuk yang terakhir.

Jadi kami akan menulis dengan cara pertama:

Fungsi check_image_path($img_path ) ( if (strlen ($img_path ) >0 ) ( $img_path = "images/noimage.jpg" ; ) mengembalikan $img_path ; )

Mari kita lakukan pengujian, rata-rata waktu pengujian yang dibutuhkan 1.43795800209 detik.

Kalau dipikir-pikir lagi... Anda dapat mengakses karakter pertama baris sekaligus, bukan keseluruhan baris. Jika karakter pertama ada di sana, maka string tersebut tidak kosong. Karakter pertama pada baris diberi nomor "0".

Fungsi check_image_path($img_path) ( if ($img_path ( 0 ) ) ( $img_path = "images/noimage.jpg" ; ) mengembalikan $img_path ; )

waktu tes rata-rata yang dibutuhkan 1.19431300163 detik, 17% waktu diputar

Mari kita coba menulis menggunakan kosong() sekarang:

Fungsi check_image_path($img_path) ( if (kosong ($img_path) ) ( $img_path = "images/noimage.jpg" ; ) mengembalikan $img_path ; )

waktu tes rata-rata yang dibutuhkan 1.1341319084 detik, 5% waktu diputar ulang dari contoh sebelumnya

Sekarang mari kita lihat contoh kedua dari belakang dan terakhir di atas. Mari kita lihat bagaimana hal ini dapat digabungkan. pikir... bagaimana lagi Anda bisa mengoptimalkan?

Fungsi check_image_path($img_path) ( if (kosong ($img_path ( 0 ) ) ) ( $img_path = "images/noimage.jpg" ; ) mengembalikan $img_path ; )

waktu tes rata-rata yang dibutuhkan 1.07465314865 detik, dan sekali lagi kami menang 5% dari waktu...

Bagaimana cara kerjanya dan mengapa lebih cepat? Tetapi $img_jalur(0) mengembalikan karakter pertama... dan kemudian fungsinya kosong() memeriksa string yang kosong... perbedaan dari contoh sebelumnya adalah hanya satu karakter yang diteruskan ke fungsi, dan bukan keseluruhan string. Jadi, dari contoh pertama hingga contoh terakhir kami menang 25% waktu.