PHP 中 if($args) 与 if(!empty($args)) 的区别
在编码的时候经常有个困惑,判断一个变量非空:
方式1:if($args){...do something..}
方式2:if(!empty($args)) {...do something...}
这两种方式的效果一样吗,在执行效率上哪种更好一些?
多谢解答!
回复内容:
在编码的时候经常有个困惑,判断一个变量非空:
方式1:if($args){...do something..}
方式2:if(!empty($args)) {...do something...}
这两种方式的效果一样吗,在执行效率上哪种更好一些?
多谢解答!
不一样,如果$args == 0,那$args == false
大多数情况下!empty会更安全,它可以把unset变量作为参数的情况下也不会报错,例如:
if($args[2] == 1) {}
如果数组不存在元素2就会报错。应该这样写
if(!empty($args[2]) && $args[2] == 1) {}
第一种方法在$args
未定义的情况下会出现警告,在PHP中出现任何Error都会造成不小的性能损失,这主要是因PHP存在错误处理机制造成的。
第二种方法下empty
能够处理未定义的参数,可以避免警告。另外empty
是指令而非函数,运行效率并不会比第一种慢太多。
简而言之,如果你能保证$args
已经定义,大可使用第一种。如果不行,则建议使用第二种。
方式1: 涉及了类型转换吧
方式2:empty判断非空值,空值包括
<code>int 0 float 0.0 string '0' string '' array array() boolean false NULL $var(一个定义了但为空值的变量)</code>
关键在与if() 和empty()的判断。
copy写的日志吧 ,不过只有if的:
<code>布尔值FALSE身. 整形值0. 浮点类型0.0 空字符串'',以及字符串'0';//这里是重点 不包含任何元素的数组. 不包含任何成员的对象.(仅php 4.0) 特殊类型NULL 其他任何类型的数据都被默认为TRUE(包括资源类型) -1也为TRUE(无论正负)</code>
这是if的判断结果,empty的话,看文档吧。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.
