掉进PHP中的坑-null,零,false,空字符串
掉进PHP中的坑--null,0,false,空字符串
今天使用公司中的框架进行开发时发现update数据的时候,那些空字符串并没有更新导数据库中,也就是说类似于0,空字符串,null这些出现以后并没有更新到数据库中:
仔细调试的时候发现,使用了empty()这个函数:
if(!empty($params['id'])) { $filters[] = array('id', '=', $params['id']); }
然后自然就没有了这个条件,去更新数据库了,这个坑怎么填呢?就是不要使用empty(),使用isset():
if(isset($params['config_id'])) { $filters[] = array('config_id', '=', $params['config_id']); }
这两个函数的区别:
光看名字已经能看出来了empty就是看这个变量是否为空,isset看这个变量是否设置:
用自己的话来说就是:
empty就是判断这个变量里面存储的东西是0,null,false,空字符串。
isset就是这个变量是否已经声明,它可以是0,null,false,空字符串。
empty的范围比较大,isset的范围比较小。
如果要判断的非常精确:建议使用 ‘===’,这样的话,php会去检测两个变量的类型和值是否完全像等。
因此emtpy,isset,===需要看使用场景合理使用。

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



Semasa memasang versi baharu aplikasi, Windows mungkin memaparkan mesej ralat ini "Ralat berlaku semasa menghuraikan C:\\Windows\Microsoft.Net\Framework\v2.0.50727\Config\machine.configParser mengembalikan ralat 0xC00CE556". Masalah ini juga berlaku apabila sistem anda but. Tidak kira apa situasi yang anda hadapi masalah ini, .NETFramework adalah punca sebenar di sebalik tabir. Terdapat beberapa pembetulan yang sangat mudah yang boleh anda gunakan untuk menghentikan kod ralat ini daripada muncul semula. Betulkan 1 – Gantikan fail yang rosak Anda boleh menggantikan ma yang rosak dengan mudah daripada direktori asal

Perbezaan antara null dan NULL dalam bahasa C ialah: null ialah definisi makro dalam bahasa C, biasanya digunakan untuk mewakili penunjuk nol, yang boleh digunakan untuk memulakan pembolehubah penunjuk, atau untuk menentukan sama ada penuding adalah nol dalam pernyataan bersyarat; NULL ialah definisi makro dalam bahasa C Pemalar yang dipratentukan dalam , biasanya digunakan untuk mewakili nilai nol, digunakan untuk mewakili penunjuk nol, tatasusunan penunjuk nol atau penunjuk struktur nol.

Dengan pembangunan berterusan bahasa PHP, ThinkPHP, yang digunakan secara meluas dalam rangka kerja back-end PHP, juga sentiasa bertambah baik. Apabila senario perniagaan menjadi semakin kompleks, permintaan untuk pengurusan konfigurasi dalam ThinkPHP juga semakin meningkat. Dalam konteks ini, ThinkPHP menyediakan fungsi pengurusan konfigurasi yang kaya Hari ini kami akan memperkenalkan cara untuk melaksanakan pengurusan konfigurasi melalui ThinkPHPConfig. 1. Pengenalan kepada ThinkPHPConfig ThinkPHPConfig adalah Nipis

Artikel ini akan menerangkan secara terperinci bagaimana PHP menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan Editor berpendapat ia sangat praktikal, jadi saya berkongsi dengan anda sebagai rujukan saya harap anda boleh memperoleh sesuatu selepas membaca artikel ini. PHP menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan: Dalam PHP, terdapat banyak cara untuk menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan: 1. Gunakan fungsi isset(): isset($array["key"]) Fungsi ini mengembalikan nilai Boolean, benar jika kunci yang ditentukan wujud, palsu sebaliknya. 2. Gunakan fungsi array_key_exists(): array_key_exists("key",$arr

Dalam JavaScript, kedua-dua undefined dan null mewakili konsep "nothing": 1. undefined mewakili pembolehubah tidak dimulakan atau sifat tidak wujud Apabila pembolehubah diisytiharkan tetapi tiada nilai diberikan kepadanya, nilai pembolehubah adalah undefined . apabila mengakses sifat yang tidak wujud dalam objek, nilai yang dikembalikan juga tidak ditentukan;

1. Pengenalan kepada CodeIgniter CodeIgniter ialah rangka kerja pembangunan PHP yang ringan dan komprehensif yang direka untuk menyediakan pembangun web dengan alatan yang pantas dan berkuasa untuk membina aplikasi web. Ia adalah rangka kerja sumber terbuka yang menggunakan corak seni bina MVC untuk mencapai pembangunan pesat dan fungsi asas, sambil menyokong pelbagai pangkalan data. 2. Pengenalan kepada perpustakaan Config Pustaka Config ialah komponen dalam rangka kerja CodeIgniter dan digunakan untuk mengkonfigurasi dan mengurus kod. Pustaka Config mengandungi banyak

Kedua-dua null dan undefined menunjukkan kekurangan nilai atau keadaan tidak ditentukan Bergantung pada senario penggunaan, terdapat beberapa prinsip panduan untuk memilih untuk menggunakan null atau undefined: 1. Apabila anda perlu menunjukkan dengan jelas bahawa pembolehubah kosong atau tidak sah, anda. boleh menggunakan null; 2. Apabila pembolehubah telah diisytiharkan tetapi belum diberikan nilai, ia akan ditetapkan kepada tidak ditentukan secara lalai 3. Apabila anda perlu menyemak sama ada pembolehubah kosong atau tidak ditentukan, gunakan pengendali kesamaan yang ketat "= ==" untuk menentukan sama ada pembolehubah itu batal atau tidak ditentukan. .

Perbezaan antara null dan undefined ialah: 1. Makna semantik 2. Senario penggunaan 3. Perbandingan dengan nilai-nilai lain 5. Hubungan dengan parameter fungsi; . Prestasi dalam siri JSON 9. Hubungan dengan jenis. Pengenalan terperinci: 1. Makna semantik, null biasanya bermaksud mengetahui bahawa pembolehubah ini tidak akan mempunyai sebarang nilai objek yang sah, manakala undefined biasanya bermaksud bahawa pembolehubah belum diberikan nilai, atau objek tidak mempunyai atribut ini 2. Senario penggunaan , dsb.
