跟燕十八學習PHP 第十三天 常用陣列函式講解

2021-06-10 02:59:25 字數 1810 閱讀 1133

/** 

燕十八 公益php培訓 

學習社群:www.zixue.it 

**/<?php

// 陣列函式講解

/*count 函式

作用:計算陣列的單元個數[或物件的屬性個數]

注:count函式的引數,可以是陣列,也可以是"非陣列"

返回值分3種情況討論

1: 陣列/物件, 返回陣列的單元個數/物件的屬性個數

2: null ,返回0

3: 非陣列,也非null,通通返回1

*/$arr = array('a','b','c','d');

echo count($arr),'

'; // 4

$str = 'abcd';

echo count($str),'

'; // 1

$nul = null;

echo count($nul),'

'; // 0

//====再深入一點===//

$arr = array('a','b','c',array('d','e'));

echo count($arr),'

'; // 4,l因為$arr第1層確實就4個單元

// 剛才答5的同學,思路值得誇張,因為他用到了遞迴的思想,

// 即,某單元如果是陣列,繼續進去數單元數量.

echo count($arr,true),'

'; // 6

/*第2個引數為true時,代表遞迴的來計算陣列的單元個數

第1層 a,b,c, array(d,e) == 4個單元

array(d,e) 又是陣列,進該數量繼續數.

數出 d,e 2個單元

共6個*/

$arr = array('a','b','c',array('d',array('e','f')));

echo count($arr,true),'

';<?php

/*array_key_exists

陣列 鍵 存在, 用來判斷陣列有沒有某乙個鍵

*/$arr = array('age'=>98,'height'=>176,'area'=>'北京',0=>'哈哈','kaka'=>null);

echo $arr['age'],'

';echo $arr['abc'],'

';// 能不能先判斷陣列有沒有某單元?

/*有2個辦法,用isset

*/if(isset($arr['age'])) else

// 用函式 array_key_exists來判斷

if(array_key_exists('abc',$arr)) else

var_dump(isset($arr['kaka'])); // false

var_dump(isset($arr[0]));       // true

/*用isset和array_key_exists來判斷

有什麼區別呢?

1:isset 不是函式,是語法結構

而array_key_exists是函式

速度上,isset省去了一次函式呼叫,速度要快些.

2:isset來判斷是根據值來判斷的,

如果某個單元的值 為 null,依然是返回false

因為 isset是靠值來判斷的.

如果對於鍵/值的都不固定,不確定是否有null存在,

請用 array_key_exists來判斷

3: isset是用來判斷變數是否設定的,不限於陣列

// 如果陣列是動態生成,不好判斷單元值及鍵值時,用array_key_exists保險

*/

跟燕十八學習PHP 第十三天 常用陣列函式講解

陣列函式講解 count 函式 作用 計算陣列的單元個數 或物件的屬性個數 注 count函式的引數,可以是陣列,也可以是 非陣列 返回值分3種情況討論 1 陣列 物件,返回陣列的單元個數 物件的屬性個數 2 null 返回0 3 非陣列,也非null,通通返回1 arr array a b c d...

php實戰第十三天

今天重新了物件導向程式設計,認識了 construct 乙個例項化物件引數的魔術方法 還有 destruct 乙個物件銷毀前執行的魔術方法 還有 get 獲取私有成員屬性的 第乙個引數是獲取的名稱 set 設定私有成員屬性的第乙個引數是 成員名稱 第二個引數是傳遞的值 call 沒有此找到對中的方法...

學習Python 第十三天

二叉樹 一,名詞 根邊 樹葉 葉子 沒有兒子 兄弟 具有相同父親的節點 祖父和孫子 路徑路徑的長 深度 從根到該點 高 從該點到葉子 祖先 後裔 真祖先 真後裔 二,樹的實現 class treenode def init self,data,firstchild,nextsibling self....