Rumah pembangunan bahagian belakang tutorial php php数组函数array_key_exists小结

php数组函数array_key_exists小结

Jul 29, 2016 am 09:10 AM
array echo exists isset key

array_key_exists()函数判断某个数组中是否存在指定的key,如果key存在,则返回true,否则返回flase

array_key_exists(key,array);

key:必需。规定键名
array:必需。规定输入的数组

'Dog','b'=>'Cat');
if(array_key_exists('a',$a)){
  echo 'Key exists!';
} else{
  echo 'Key does not exist!';
}
?>

Salin selepas log masuk

输出:Key exists!

array_key_exists为什么比in_array快?

array_key_exists 和 in_array 查询的东西都不一样吧
array_key_exists 判断是否有键值
array_key_exists(a,arr)->if(isset(arr[a]))就是true

而in_array 需要去遍历值 遍历到了才跳出循环

追问:
是不是数组的索引有单独的存储单元,而且优化过,array_key_exists的时间复杂度是o(1), 而in_array是o(n) ??

追答:
重复杂度来说是这样

array_key_exists  是判断某个键有没有值

in_array  要遍历一次 获取是否相同 不知道建的情况下必须遍历

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不用;

  测试代码:

'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
                
                
                <p>
                    以上就介绍了php数组函数array_key_exists小结,包括了索引方面的内容,希望对PHP教程有兴趣的朋友有所帮助。</p>
                <p>
                    </p>
             
Salin selepas log masuk
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah yang dimaksudkan dengan atribut identiti dalam SQL? Apakah yang dimaksudkan dengan atribut identiti dalam SQL? Feb 19, 2024 am 11:24 AM

Apakah Identity dalam SQL? Contoh kod khusus diperlukan Dalam SQL, Identity ialah jenis data khas yang digunakan untuk menjana nombor penambahan automatik. Ia sering digunakan untuk mengenal pasti setiap baris data dalam jadual. Lajur Identiti sering digunakan bersama dengan lajur kunci utama untuk memastikan setiap rekod mempunyai pengecam unik. Artikel ini akan memperincikan cara menggunakan Identiti dan beberapa contoh kod praktikal. Cara asas untuk menggunakan Identity ialah menggunakan Identit semasa membuat jadual.

Bagaimana SpringBoot memantau peristiwa perubahan kunci redis Bagaimana SpringBoot memantau peristiwa perubahan kunci redis May 26, 2023 pm 01:55 PM

1. Gambaran Keseluruhan Fungsi Pemberitahuan ruang kekunci membolehkan pelanggan menerima acara yang mengubah suai perubahan Rediskey dalam beberapa cara dengan melanggan saluran atau corak. Semua arahan yang mengubah suai kunci kekunci. Semua kunci yang menerima perintah LPUSHkeyvalue[value…]. Semua kunci tamat tempoh dalam pangkalan data db. Acara diedarkan melalui fungsi langganan dan penerbitan Redis (pub/sub), jadi semua pelanggan yang menyokong fungsi langganan dan penerbitan boleh terus menggunakan fungsi pemberitahuan ruang kekunci tanpa membuat sebarang pengubahsuaian. Kerana fungsi langganan dan penerbitan semasa Redis menggunakan strategi fireandforget, jika program anda

Kerentanan kunci pengesahan dua faktor Yubico yang tidak dapat ditambal memecah keselamatan kebanyakan peranti Yubikey 5, Kunci Keselamatan dan YubiHSM 2FA Kerentanan kunci pengesahan dua faktor Yubico yang tidak dapat ditambal memecah keselamatan kebanyakan peranti Yubikey 5, Kunci Keselamatan dan YubiHSM 2FA Sep 04, 2024 pm 06:32 PM

Kerentanan kunci pengesahan dua faktor Yubico yang tidak dapat ditambal telah memecahkan keselamatan kebanyakan peranti Yubikey 5, Kunci Keselamatan dan YubiHSM 2FA. JavaCard A22 Feitian dan peranti lain yang menggunakan TPM siri Infineon SLB96xx juga terdedah. Semua

Lima projek sumber terbuka bahasa Go yang dipilih untuk membawa anda meneroka dunia teknologi Lima projek sumber terbuka bahasa Go yang dipilih untuk membawa anda meneroka dunia teknologi Jan 30, 2024 am 09:08 AM

Dalam era perkembangan teknologi yang pesat hari ini, bahasa pengaturcaraan bermunculan seperti cendawan selepas hujan. Salah satu bahasa yang telah menarik perhatian ramai ialah bahasa Go, yang digemari oleh ramai pembangun kerana kesederhanaan, kecekapan, keselamatan serentak dan ciri-ciri lain. Bahasa Go terkenal dengan ekosistemnya yang kukuh dengan banyak projek sumber terbuka yang sangat baik. Artikel ini akan memperkenalkan lima projek sumber terbuka bahasa Go yang dipilih dan membawa pembaca untuk meneroka dunia projek sumber terbuka bahasa Go. KubernetesKubernetes ialah enjin orkestrasi kontena sumber terbuka untuk automatik

Bagaimana untuk menyelesaikan masalah penghapusan kelompok nilai utama dalam redis Bagaimana untuk menyelesaikan masalah penghapusan kelompok nilai utama dalam redis May 31, 2023 am 08:59 AM

Masalah yang dihadapi: Semasa proses pembangunan, anda akan menemui kunci yang perlu dipadamkan secara berkelompok mengikut peraturan tertentu, seperti login_logID (ID ialah pembolehubah Sekarang anda perlu memadamkan data seperti "login_log*", tetapi redis sendiri hanya mempunyai pertanyaan kelompok. Penyelesaian: Tanya dahulu, kemudian padam, gunakan xargs untuk menghantar parameter (xargs boleh menukar paip atau data input standard (stdin) kepada parameter baris arahan), laksanakan pernyataan pertanyaan dahulu, dan kemudian alih keluar nilai kunci yang ditanya dan parameter del asal. padam. redis-cliKEYSkey* (keadaan carian)|xargsr

Keperluan pembangunan bahasa Go: 5 cadangan rangka kerja yang popular Keperluan pembangunan bahasa Go: 5 cadangan rangka kerja yang popular Mar 24, 2024 pm 01:15 PM

"Go Language Development Essentials: 5 Syor Rangka Kerja Popular" Sebagai bahasa pengaturcaraan yang pantas dan cekap, bahasa Go digemari oleh semakin ramai pembangun. Untuk meningkatkan kecekapan pembangunan dan mengoptimumkan struktur kod, ramai pembangun memilih untuk menggunakan rangka kerja untuk membina aplikasi dengan cepat. Dalam dunia bahasa Go, terdapat banyak rangka kerja yang sangat baik untuk dipilih. Artikel ini akan memperkenalkan 5 rangka kerja bahasa Go yang popular dan menyediakan contoh kod khusus untuk membantu pembaca memahami dan menggunakan rangka kerja ini dengan lebih baik. 1.GinGin ialah rangka kerja web yang ringan dengan pantas

Isih tatasusunan menggunakan fungsi Array.Isih dalam C# Isih tatasusunan menggunakan fungsi Array.Isih dalam C# Nov 18, 2023 am 10:37 AM

Tajuk: Contoh menggunakan fungsi Array.Sort untuk mengisih tatasusunan dalam Teks C#: Dalam C#, tatasusunan ialah struktur data yang biasa digunakan dan operasi pengisihan tatasusunan selalunya diperlukan. C# menyediakan kelas Array, yang mempunyai kaedah Isih untuk menyusun tatasusunan dengan mudah. Artikel ini akan menunjukkan cara menggunakan fungsi Array.Sort dalam C# untuk mengisih tatasusunan dan memberikan contoh kod khusus. Pertama, kita perlu memahami penggunaan asas fungsi Array.Sort. Susunan.Jadi

PHP menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan PHP menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan Mar 21, 2024 pm 09:21 PM

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

See all articles