PHP中isset與array_key_exists有什么不同-創新互聯

今天就跟大家聊聊有關PHP中isset與array_key_exists有什么不同,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

我們提供的服務有:網站建設、做網站、微信公眾號開發、網站優化、網站認證、樂平ssl等。為超過千家企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的樂平網站制作公司

具體分析如下:

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

測試代碼:

<?php
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<100;$i++){
isset($test_arr['aa']);
}
$time_end = microtime_float();
$time = $time_end - $time_start;
echo "isset 100 is $time\n";
for($i=0;$i<10000;$i++){
isset($test_arr['aa']);
}
$time_end = microtime_float();
$time = $time_end - $time_start;
echo "isset 10000 is $time\n";
for($i=0;$i<1000000;$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<100;$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<10000;$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<1000000;$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中isset與array_key_exists有什么不同有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創新互聯行業資訊頻道,感謝大家的支持。

本文標題:PHP中isset與array_key_exists有什么不同-創新互聯
當前URL:http://m.kartarina.com/article28/dicjcp.html

成都網站建設公司_創新互聯,為您提供網頁設計公司建站公司網站導航小程序開發搜索引擎優化全網營銷推廣

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都做網站
主站蜘蛛池模板: 国产成人无码网站| 久久亚洲精品成人无码网站| 麻豆精品无码国产在线果冻 | 精品无码人妻久久久久久| 无码人妻丰满熟妇区五十路| 国产成人无码精品久久久免费| 人妻无码第一区二区三区| 亚洲精品无码久久不卡| 国产午夜无码精品免费看| 亚洲av永久中文无码精品综合| 亚洲精品午夜无码电影网| 人妻丰满?V无码久久不卡| 久久青青草原亚洲av无码app| 亚洲欧洲自拍拍偷午夜色无码| 尤物永久免费AV无码网站| 无码人妻久久一区二区三区| 无码综合天天久久综合网| 亚洲国产日产无码精品| 精品久久久久久无码专区| 国产成人无码18禁午夜福利p | 国产精品爽爽va在线观看无码| 无码国产精品一区二区免费式芒果| heyzo专区无码综合| 亚洲精品av无码喷奶水糖心| 亚洲av永久无码精品天堂久久| 无码精品人妻一区二区三区人妻斩 | 精品久久久久久无码中文野结衣| 亚洲综合久久精品无码色欲| 亚洲Av永久无码精品三区在线| 精品亚洲成α人无码成α在线观看 | 人妻丰满AV无码久久不卡| 久久久久亚洲精品无码系列| 亚洲精品无码99在线观看| 成人无码嫩草影院| 久久天堂av综合色无码专区| 成年轻人电影www无码| 亚洲AV永久无码天堂影院| 免费无码又爽又刺激毛片| 本道天堂成在人线av无码免费| 狠狠爱无码一区二区三区| 久久久久久亚洲精品无码|