PHP中isset与array_key_exists的区别实例分析_PHP教程
PHP中isset与array_key_exists的区别实例分析
本文实例讲述了PHP中isset与array_key_exists的区别。分享给大家供大家参考。具体分析如下:
1.对于数组值的判断不同,对于值为null或''或false,isset返回false,array_key_exists返回true;
2. 执行效率不同,isset是内建运算符,array_key_exists是php内置函数,isset要快一些。请参考:PHP 函数实现原理及性能分析
3.当用isset访问一个不存在索引数组值时,不会引起一个E_NOTICE的php错误消息;
4.array_key_exists 会调用get_defined_vars判断数组变量是否存在,isset不用;
测试代码:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
function microtime_float() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } $test_arr['aa']='dd'; $test_arr['bb']=''; $test_arr['cc']=NULL; $test_arr['dd']=false; $test_arr= array('aa'=>'dd','bb'=>'','cc'=>null,'dd'=>false); echo "isset aa is ";var_dump(isset($test_arr['aa']));echo "\n"; echo "isset bb is ";var_dump(isset($test_arr['bb']));echo "\n"; echo "isset cc is ";var_dump(isset($test_arr['cc']));echo "\n"; echo "isset dd is ";var_dump(isset($test_arr['cc']));echo "\n"; echo "isset none is ";var_dump(isset($test_arr['none']));echo "\n"; echo "key_exist aa is ";var_dump(array_key_exists('aa',$test_arr));echo "\n"; echo "key_exist bb is ";var_dump(array_key_exists('bb',$test_arr));echo "\n"; echo "key_exist cc is ";var_dump(array_key_exists('cc',$test_arr));echo "\n"; echo "key_exist dd is ";var_dump(array_key_exists('dd',$test_arr));echo "\n"; echo "key_exist none is ";var_dump(array_key_exists('none',$test_arr));echo "\n"; $time_start = microtime_float(); for($i=0;$i isset($test_arr['aa']); } $time_end = microtime_float(); $time = $time_end - $time_start; echo "isset 100 is $time\n"; for($i=0;$i isset($test_arr['aa']); } $time_end = microtime_float(); $time = $time_end - $time_start; echo "isset 10000 is $time\n"; for($i=0;$i isset($test_arr['aa']); } $time_end = microtime_float(); $time = $time_end - $time_start; echo "isset 1000000 is $time\n"; //++++++++++++++++++++++++++++++ $time_start = microtime_float(); for($i=0;$i array_key_exists('aa',$test_arr); } $time_end = microtime_float(); $time = $time_end - $time_start; echo "array_key_exists 100 is $time\n"; for($i=0;$i array_key_exists('aa',$test_arr); } $time_end = microtime_float(); $time = $time_end - $time_start; echo "array_key_exists 10000 is $time\n"; for($i=0;$i array_key_exists('aa',$test_arr); } $time_end = microtime_float(); $time = $time_end - $time_start; echo "array_key_exists 1000000 is $time\n"; |
希望本文所述对大家的php程序设计有所帮助。

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

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

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

DeepSeek: Perbandingan mendalam antara versi R1 dan V3 membantu anda memilih pembantu AI terbaik! DeepSeek sudah mempunyai puluhan juta pengguna, dan fungsi dialog AI telah diterima dengan baik. Tetapi adakah anda keliru ketika menghadapi versi R1 dan V3? Artikel ini akan menjelaskan perbezaan antara kedua -dua terperinci untuk membantu anda memilih versi yang paling sesuai. Perbezaan teras antara versi DeepSeekR1 dan V3: Ciri-ciri matlamat reka bentuk versi V3 memberi tumpuan kepada penalaran masalah yang kompleks, analisis logik yang mendalam, model bahasa besar pelbagai fungsi, yang memberi tumpuan kepada skalabilitas dan kecekapan seni bina dan parameter pengoptimuman pembelajaran pengoptimuman, skala parameter 1.5 Bilion hingga 70 bilion seni bina pakar hibrid MOE, jumlah parameter adalah setinggi 671 bilion, setiap token diaktifkan sebanyak 37 bilion

Panduan Pengguna Alat DeepSeekai dan FAQ DeepSeek adalah alat pintar AI yang kuat. FAQ: Perbezaan antara kaedah akses yang berbeza: Tidak ada perbezaan fungsi antara versi web, versi aplikasi dan panggilan API, dan aplikasi hanya pembungkus untuk versi web. Penggunaan tempatan menggunakan model penyulingan, yang sedikit lebih rendah daripada versi penuh DeepSeek-R1, tetapi model 32-bit secara teorinya mempunyai keupayaan versi penuh 90%. Apa itu bar? Sillytavern adalah antara muka depan yang memerlukan memanggil model AI melalui API atau Ollama. Apa itu Had Breaking

Pasaran cryptocurrency berkembang pesat, dan Bitcoin, sebagai pemimpin, telah menarik perhatian banyak pelabur. Ramai orang yang ingin tahu: adakah bitcoin mempunyai stok? Jawapannya tidak. Bitcoin sendiri bukan stok, tetapi pelabur secara tidak langsung boleh melabur dalam aset yang berkaitan dengan bitcoin melalui pelbagai saluran, yang akan dijelaskan secara terperinci dalam artikel ini. Alternatif untuk Bitcoin Investment: Daripada melabur secara langsung di Bitcoin, pelabur boleh mengambil bahagian dalam pasaran Bitcoin oleh: Bitcoin ETF: Ini adalah dana yang didagangkan di pasaran perdagangan saham, yang portfolio asetnya mengandungi kontrak niaga hadapan Bitcoin atau Bitcoin. Ini adalah pilihan yang agak mudah untuk pelabur yang terbiasa dengan pelaburan saham, tanpa perlu memegang Bitcoin secara langsung. Saham Syarikat Perlombongan Bitcoin: Perniagaan syarikat ini adalah perlombongan bitcoin dan memegang bitcoin

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Di pasaran kewangan tradisional, perdagangan pra-pasaran dan selepas pasaran merujuk kepada aktiviti perdagangan di luar tempoh dagangan biasa. Walaupun pasaran cryptocurrency didagangkan sepanjang masa, platform perdagangan seperti Bitget juga menawarkan ciri -ciri yang sama, terutama beberapa platform komprehensif yang perdagangan saham dan kriptografi pada masa yang sama. Artikel ini akan menjelaskan perbezaan dalam perdagangan pra-pasaran dan selepas pasaran dan meneroka kesannya terhadap harga mata wang. Empat perbezaan utama antara perdagangan pra-pasaran dan selepas pasaran: perbezaan utama antara pra-pasaran dan perdagangan selepas pasaran dan tempoh dagangan biasa adalah dalam empat aspek: masa dagangan, kecairan, turun naik harga dan jumlah dagangan: masa dagangan: dagangan pra-pasaran berlaku sebelum perdagangan rasmi bermula, dan perdagangan selepas itu adalah selepas dagangan. Kecairan: Kecairan perdagangan pra-dan selepas jam adalah rendah, terdapat beberapa peniaga, dan tawaran dan tawaran harga tawaran adalah besar;
