php陣列基本介紹
一、php陣列健名:
(1)、php陣列健名只能是以整形數字或者字串形式的資料型別。
(2)、若健名不是整形數字或者字串,則轉化成整形數字或者字串;
(3)、若健名是true/false的布林型資料型別,則健名分別轉化成整形陣列1/0;若健名是實型(浮點型)資料型別,則健名轉化成整形(去掉小數點取整),若健名是NULL(null型),則對應健名轉化成''(空字串);
二、php陣列值:
(1)、php陣列中的值,可以是任意型別資料,即:可以是false、null...等資料型別;
(2)、若一個php陣列中,健名一樣的情況下(有的能轉化成整形、字串),後面的值覆蓋前面的值;
三、php陣列建立方式:
/******* 陣列的建立方式 ********/ //1、array()方式定義陣列; $crr = array('name'=>'zhangsan','heiht'=>176,'age'=>'first',null=>'wanger','yinhang'=>'guangda','buer'=>false,'shuzi'=>'777',false=>'kaokao','mmmm'=>null); for(;key($crr)!==null;next($crr)){ // 注意:1、當前指標所對應的健名不存在,或者陣列健名未定義不存在(空陣列)的時候,返回null(這裡不是false,false可以當做健名的); var_dump(key($crr)); // 2、由於陣列的值可以是任意型別資料,當前指標對應的值可能是0、'0'、null、''以及布林值false; 所以在for()語句中用key()判斷條件,而不用false; echo '<br/>'; } /***結果為**** string(4) "name" string(5) "heiht" string(3) "age" string(0) "" // 健名null轉化成了''(空字串); string(7) "yinhang" string(4) "buer" string(5) "shuzi" int(0) // 健名false轉化成了0(整形數字); string(4) "mmmm" *********/ //2、追加元素方式建立陣列; $drr['name'] = 'wangwu'; $drr[] = 178; $drr[false] = 'booler'; print_r($drr); // 結果為:Array ( [name] => wangwu [0] => booler ); 健名false轉化成了0,前面的'$drr[]'健名也是0,所以後面的值覆蓋前面的值(健名一樣時候); //3、range()函式建立連續等序列陣列; $err = range(0,5); // 建立一個值從0到5的陣列,(每個值元素預設差1); print_r($err); //Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 );預設序列差是1; $frr = range(0,10,2); // 建立一個值為從0到10的的陣列,並設定每個值序列差是2; print_r($frr); //Array ( [0] => 0 [1] => 2 [2] => 4 [3] => 6 [4] => 8 [5] => 10 ); //4、array_fill():建立填充(幾個長度),一樣元素的陣列; $grr = array_fill(-5,5,'xxoo'); // 索引從-5開始,5個元素(長度)的XXOO; print_r($grr); // Array ( [-5] => xxoo [0] => xxoo [1] => xxoo [2] => xxoo [3] => xxoo ); // 如果索引從負數開始,則第一個元素的索引為指定的負數;往後索引則從0開始; //5、array_combine():建立一個數組,第一陣列的值作為健名,第二個陣列的值,作為值; echo '<hr/>'; $hrr = array(34,45,56,34); $jrr = array('taso','mimi','taotao','guagua'); $mmm = array_combine($hrr,$jrr); print_r($mmm); // Array ( [34] => guagua [45] => mimi [56] => taotao ); 34的健名一樣,後面的值覆蓋前面的值; // 注意:健、值的元素個數必須保持一致才行,否則會報錯,返回false; print_r(array_combine(range(1,5),range(1,5))); // Array ( [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 ) range()和array_comnine()結合; //6、compact()將一個或者多個變數轉化成陣列; // 變數名將作為數字的健名,變數值將作為陣列健名對應的值存在; $city = "San Francisco"; $state = "CA"; $event = "SIGGRAPH"; $location_vars = array("city", "state"); $result = compact("event", "nothing_here", $location_vars); // $location_vars 是一個可變變數; print_r($result); //Array ( [event] => SIGGRAPH [city] => San Francisco [state] => CA ) // 不存在的變數名將會被捨棄;陣列中的值,將作為變數的名;
四、php陣列遍歷方式:
/******* 陣列的遍歷方式 ********/ $arr = array(-1,-2,-3,0,1,2,34,5,null=>false); // 方法1: foreach(); foreach($arr as $keys=>$values){ echo $keys.'======>'.$values; echo '<br/>'; } // 方法2: 利用陣列指標 reset($arr); // 指標回到初始位置; for(;key($arr)!==null;next($arr)){ echo key($arr).'=====>'.current($arr); echo '<br/>'; } // 方法3: each()函式, reset($arr); while(list($a,$b)= each($arr)){ echo $a.'======>'.$b; echo '<br/>'; }
五、php陣列指標相關:
/******* 陣列的指標相關 ********/
//foreach: 賦值(或者引用變數地址)給$values,並將陣列指標下移,Warning:陣列最後一個元素的 $value 引用在 foreach 迴圈之後仍會保留。建議使用 unset() 來將其銷燬。
//each: 返回陣列中當前指標所對應的健、值,並將指標下移一步;如果指標出界(沒有對應的單元內容的時候),則返回false;
// key: 返回當前指標所對應的健,若無對應的指標沒有健名(偏離出了陣列),或者空陣列,則返回null;
//current: 如果當前指標無對應的陣列元素,則返回false;(注意:返回的陣列當前的值,也有可能轉化能false,如0,'',false...等等);
//next: 先將內部指標指向下一個單元,再返回指標所對應的(下一單元)值; 沒有更多單元的時候(指標出界),返回false;
// resst(): 將陣列指標移動陣列的第一個元素並返回其值,如果陣列為空,則返回false;
// end(): 將陣列的指標移動到陣列的最後一個單元,並返回其值; 如果陣列為空,則返回false;
//list 注意1;
list($m,$n,$k)= array(89,92);
echo $m; //89
echo $n; //92
var_dump($k); //null 引數無值的時候,預設為NULL;
// list 注意2;
list(,,$k)= array(89,2=>92);
var_dump($k); // 92; $k對應的是陣列下標為2 的值;
五、注意:
1、array_pop();彈出陣列最後一個元素;
2、array_shift():彈出陣列第一個元素:
3、key():返回陣列當前指標所對應的健名;
如果陣列的當前指標超出了陣列元素的範圍,或者陣列為空,則都返回的是null;
array_splice():去除陣列元素(並用其他值替換);和array_pop()等函式一樣,函式都是引用(地址)傳值,函式呼叫後,原陣列將一併改變;
相關推薦
php陣列基本介紹
一、php陣列健名: (1)、php陣列健名只能是以整形數字或者字串形式的資料型別。 (2)、若健名不是整形數字或者字串,則轉化成整形數字或者字串; (3)、若健名是true/false的布林型資料型別,則健名分別轉化成整形陣列1/0;若健名
PHP PSR 程式碼規範基本介紹
PSR 是 PHP Standard Recommendation 的簡寫,即PHP推薦標準。 目前通過的規範有 PSR-0(Autoloading Standard)、PSR-1(Basic Coding Standard)、PSR-2(Coding Style Guide)、PSR-3(Logger I
【資料結構與演算法】之棧的基本介紹及其陣列、連結串列實現---第四篇
一、棧的基本介紹 1、棧的基本概念 棧是一種限制在一端進行插入和刪除操作的線性表資料結構。棧中有兩個比較重要的操作:push(壓棧:將元素壓入棧頂)和pop(彈棧:從棧頂彈出一個元素)。都滿足先進後出、後進先出的特點! 從圖中可以看出,我們常把棧的上面稱為棧
【資料結構與演算法】之佇列的基本介紹及其陣列、連結串列實現---第五篇
一、佇列的基本概念 1、定義 佇列是一種先進先出的線性表。它只允許在表的前端進行刪除操作,而在表的後端進行插入操作,具有先進先出、後進後出的特點。進行插入操作的一端成為隊尾(tail),進行刪除操作的一端稱為隊頭(head)。當佇列中沒有元素時,則稱之為空佇列。 在
php擴充套件開發(一 基本介紹和擴充套件開發的基本步驟)
需要開發擴充套件的場景: 1)應用非常注重效率,如複雜的影象演算法,需要編寫成擴充套件模組 2)有些系統呼叫不能用PHP直接訪問,比如Linux下的fork函式建立一個程序,需要編寫擴充套件 3)需要商業化一個應用,又不想暴露原始碼 一,搭建PHP框架 1
SAS SATA SSD基本介紹
異步io 半導體 也有 不存在 線纜 讀寫性能 解決 異步 流動 SATA硬盤采用新的設計結構,數據傳輸快,節省空間,相對於IDE硬盤具有很多優勢: 1 .SATA硬盤比IDE硬盤傳輸速度高。目前SATA可以提供150MB/s的高峰傳輸速率。今後將達到300 MB/s和
Spring Security應用開發(10) 並發控制之基本介紹
authorize 失效 session report 表示 container 頁面 屬性 ren 同一個用戶使用不同的瀏覽器登錄,將會導致什麽結果呢?Spring Security提供了多種選項。 <!-- session管理 --> <
IPv6基本介紹
ipv6IPv6協議後面來自於兩個基本推動力:第一、移動設備,安全問題服務質量保證第二、擁有眾多人口的國家IPv6和IPv4地址不同之處不僅在地址長度、格式寫法地址表示法IPv4采用點分十進制,分隔4個8位段來表示,每個段數值大小在1~255之間IPv6采用十六進制,分隔8個16位段來表示,用:來分開,掩碼使
C#操作Word Aspose.Words組件介紹及使用—基本介紹與DOM概述
控制 包含 枚舉類 讀取 標記 服務器端 方法 python level 1.基本介紹 Aspose.Words是一個商業.NET類庫,可以使得應用程序處理大量的文件任務。Aspose.Words支持Doc,Docx,RTF,HTML,OpenDocument,PDF,XP
【轉載】WEBRTC基本介紹
webrtc 數據流 應用 帶寬 工作 ogl 回聲 real 明顯 “WebRTC,名稱源自網頁實時通信(Web Real-Time Communication)的縮寫,是一個支持網頁瀏覽器進行實時語音對話或視頻對話的技術,是谷歌2010年以6820萬美元收購
嵌入式開發板ARM開發板-迅為4418開發板接口基本介紹
4418開發板 接口介紹 迅為4418開發板無縫兼容6818平臺,是北京迅為電子有限公司研發設計的一款開發板平臺,核心板尺寸小,引出腳多,能夠幫助工程師們快速開發新產品。行業應用:iTOP-4418開發板/6818開發板可廣泛適用於工控、智能家居、醫療、多媒體、安防、車載、金融、消費電子、手持設備、顯
Nginx基本介紹
使用 9.png -1 .cn 功能 高性能 src 請求 web服務 1.Nginx介紹 nginx是由俄羅斯人開發的一款高性能的http和反向代理服務器,也可以用來作為郵件代理。相比較於其他的服務器,具有占用內存少,穩定性高等優勢 2.反向代理 正向代理類似一個跳板機,
Nginx之基本介紹(一)
動靜分離 quit 共享內存 oct bytes err 配置文件 默認頁 日誌格式 這是一篇介紹Nginx基本信息和配置文件詳情的文章,適合入門者,如果你想深入了解Nginx請繞道 什麽是Nginx? Nginx是輕量級,高性能,跨平臺的web服務器 Nginx的特點
http請求的基本介紹
put請求 定向 能夠 響應 容易 方法 nec 提交數據 狀態 響應碼 1xx:接收到請求並且繼續處理 ,這個是一瞬間的狀態,一般不關註 2xx:請求已被接收,理解,處理,表示正確 3xx:請求重定向 4xx:客戶請求語法錯誤或者請求資源不存在,這個是客戶端錯誤 5x
Python學習筆記_零零一:Python基本介紹
交易 社交 數據 lips engine 探討 認識 hive 初學者 Python介紹 Python 是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言。Python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他
數組運算符和控制流程的基本介紹和範例
布爾型 存儲 連接 clas spa short i++ switch 數組運算 總結 一、數組 1、概念 2、作用及舉例 二、運算符 1、分類 1)算術運算符 2)位運算符 3)比較運算符 4)邏輯運算符 三
Element-UI使用基本介紹
down tty start 服務 頁面 web this not clas Element-Ul是餓了麽前端團隊推出的一款基於Vue.js 2.0 的桌面端UI框架,手機端有對應框架是Mint UI 。 開發環境 1.安裝webpack npm install -g
PHP實現基本算法代碼
數據 ext lec key dem sse 數據結構 無數據 sch <? //-------------------- // 基本數據結構算法 //-------------------- //二分查找,要求數組已經排好序,首先,假設表中元素是按升序排列,將表中間
Axure RP 7.0 標準教程(2)--基本介紹
賬號 axure rp 相同元素 添加圖片 項目 相同 項目發布 想要 介紹 母版:用來放置一些相同元素的部件 兩個頁面都放入母版 一處更改 所有更改 添加圖片:雙擊可以本地添加 ---------- 創建share.axure賬號 https://share.ax
Js函數基本介紹
scrip 是什麽 數組 函數的參數 但是 參數 script 是不是 書寫 1. 函數的創建 在JavaScript裏面創建函數的關鍵字為function 函數名:就是在我們調用函數的時候需要書寫的標識符 形參:全稱為形式參數,調用函數的時候,這個函數所需要的參