PHP學習3——陣列
主要內容:
- 簡介
- 常用的方法
- 迴圈遍歷陣列
- PHP預定義陣列
- 陣列的處理函式
陣列
PHP由於是弱型別的語言,他的變數型別是可以自由變換的,他的陣列很自由,長度是可以動態增加的。
他的索引預設為數字0開始,另外有一個很強大的地方就是,他的陣列可以和字典一樣,通過(key-value)鍵值對模式來儲存(厲害哦)
<?php //宣告陣列,並初始化 $xiaoli=array("小李",25,"男","google公司","xiaoli@php.com"); //輸出陣列 print_r($xiaoli); echo "<br/>"; $xiaobai[2]="小白"; $xiaobai[]=20; $xiaobai[]="女"; $xiaobai[]="baidu公司"; $xiaobai[]="xiaobai@php.com"; //輸出陣列 print_r($xiaobai); echo "<br/>"; $bai["姓名"]="小白"; $bai[`年齡`]=20; $bai[`性別`]="女"; $bai[`公司`]="baidu公司"; $bai[`郵箱`]="xiaobai@php.com"; //輸出陣列 print_r($bai); ?>
輸出
Array ( [0] => 小李 [1] => 25 [2] => 男 [3] => google公司 [4] => xiaoli@php.com ) Array ( [2] => 小白 [3] => 20 [4] => 女 [5] => baidu公司 [6] => xiaobai@php.com ) Array ( [姓名] => 小白 [年齡] => 20 [性別] => 女 [公司] => baidu公司 [郵箱] => xiaobai@php.com )
使用數字作為key的叫做“索引陣列”,使用其他作為key的叫做“關聯陣列”,可以使用array在初始的時候就是預設使用索引,也可以制定為關聯陣列。
<?php //宣告 索引陣列,並初始化 $xiaoli=array("小李",25,"男","google公司","xiaoli@php.com"); //輸出陣列 print_r($xiaoli); echo "<br/>"; //宣告 關聯陣列,並初始化 $xiaoli=array("姓名"=>"小李","年齡"=>25,"性別"=>"男","google公司","xiaoli@php.com"); //輸出陣列 print_r($xiaoli); ?>
輸出
Array ( [0] => 小李 [1] => 25 [2] => 男 [3] => google公司 [4] => xiaoli@php.com ) Array ( [姓名] => 小李 [年齡] => 25 [性別] => 男 [0] => google公司 [1] => xiaoli@php.com )
key也可以是變數,這樣更靈活
<?php //宣告 索引陣列,並初始化 $xiaoli=array("小李",25,"男","google公司","xiaoli@php.com"); //輸出陣列 print_r($xiaoli); echo "<br/>"; //宣告 關聯陣列,並初始化 $xiaoli=array("姓名"=>"小李","年齡"=>25,"性別"=>"男","google公司","xiaoli@php.com"); //輸出陣列 print_r($xiaoli); $a="姓名"; echo "<br/>"; echo $xiaoli[$a]; $a="年齡"; echo "<br/>"; echo $xiaoli[$a]; ?>
輸出
Array ( [0] => 小李 [1] => 25 [2] => 男 [3] => google公司 [4] => xiaoli@php.com ) Array ( [姓名] => 小李 [年齡] => 25 [性別] => 男 [0] => google公司 [1] => xiaoli@php.com ) 小李 25
常用的方法
each($arr)返回陣列中當前指標的鍵值對
print_r($arr)輸出陣列所有元素
var_dump($arr)輸出陣列的所有元素以及型別資訊
list($a,$b)=array(“小李”,25,”男”,”google公司”)這裡一次性給多個變數賦值,$a=”小李”,$b=25;
迴圈遍歷陣列
這裡有3中方法來遍歷數字
- for($i=0;$i<count($arr);$i++){}
- foreach($arr as $x=>$y){}
- while($v=each($arr)){}
foreach.php
<?php //宣告 關聯陣列,並初始化 $xiaoli=array("姓名"=>"小李","年齡"=>25,"性別"=>"男","google公司","xiaoli@php.com"); foreach($xiaoli as $a=>$b){ //each($xiaoli); echo "陣列中 $a 元素是 $b <br/>"; } ?>
輸出
陣列中 姓名 元素是 小李 陣列中 年齡 元素是 25 陣列中 性別 元素是 男 陣列中 0 元素是 google公司 陣列中 1 元素是 xiaoli@php.com
貌似for迴圈只能遍歷純索引陣列
for.php
<?php //宣告 關聯陣列,並初始化 $xiaoli=array("姓名"=>"小李","年齡"=>25,"性別"=>"男","google公司","xiaoli@php.com"); for($i=0;$i<count($xiaoli);$i++){ //each($xiaoli); echo "陣列中 ".$i."元素是 ".$xiaoli[$i]." <br/>"; } ?>
輸出
陣列中 0元素是 google公司 陣列中 1元素是 xiaoli@php.com Notice: Undefined offset: 2 in C:xampphtdocsdemo2.php on line 7 陣列中 2元素是 Notice: Undefined offset: 3 in C:xampphtdocsdemo2.php on line 7 陣列中 3元素是 Notice: Undefined offset: 4 in C:xampphtdocsdemo2.php on line 7 陣列中 4元素是
while_each.php
<?php //宣告 關聯陣列,並初始化 $xiaoli=array("姓名"=>"小李","年齡"=>25,"性別"=>"男","google公司","xiaoli@php.com"); while($v=each($xiaoli)){ echo "陣列中 ".$v["key"]."元素是 ".$v["value"]." <br/>"; } ?>
輸出
陣列中 姓名元素是 小李 陣列中 年齡元素是 25 陣列中 性別元素是 男 陣列中 0元素是 google公司 陣列中 1元素是 xiaoli@php.com
PHP預定義陣列
- $GLOBALS(包含了全部變數的全域性組合陣列)
- $_SERVER(頭資訊,路徑,指令碼位置等資訊的陣列)
- $_POST
- $_GET
- $_COOKIE
- $_SESSION
- $_REQUEST(預設情況下包含了$_POST,$_GET,$_COOKIE的陣列)
陣列的處理函式
array_sum($arr)返回陣列中所有value的值的和,字串當做0
in_array($key,$arr)如果$key在$arr陣列中,返回true,否則返回false
array_count_values($arr)用來統計所有值出現的次數
array_sum.php
<?php //宣告 關聯陣列,並初始化 $xiaoli=array("姓名"=>"小李","年齡"=>25,"性別"=>"男","google公司","xiaoli@php.com"); $a=array_sum($xiaoli); echo $a; ?>
輸出
=>25
in_array.php
<?php //宣告 關聯陣列,並初始化 $xiaoli=array("姓名"=>"小李","年齡"=>25,"性別"=>"男","google公司","xiaoli@php.com"); findkey("小李",$xiaoli); echo "<br/>"; findkey("小小",$xiaoli); //在陣列xiaoli中找key function findkey($key,$xiaoli){ if(in_array($key,$xiaoli)){ echo "fund ".$key; }else{ echo "not fund ".$key; } } ?>
輸出
fund 小李 not fund 小小
array_count_values.php
<?php //宣告 關聯陣列,並初始化 $xiaoli=array("姓名"=>"小李","姓名1"=>"小李","姓名2"=>"小李","姓名3"=>"小李", "年齡"=>25,25,25,25,25,666,1,666,666, "性別"=>"男","google公司","xiaoli@php.com"); print_r(array_count_values($xiaoli)); ?>
輸出
Array ( [小李] => 4 [25] => 5 [666] => 3 [1] => 1 [男] => 1 [google公司] => 1 [xiaoli@php.com] => 1 )
ok陣列的學習就到這裡。
相關文章
- PHP 學習總結之陣列PHP陣列
- PHP陣列學習之計算陣列元素總和PHP陣列
- 飛機的 PHP 學習筆記五:陣列PHP筆記陣列
- 陣列學習陣列
- PHP學習筆記6:表示式&多維陣列PHP筆記陣列
- 陣列的學習陣列
- 學習JSON陣列JSON陣列
- Java學習之陣列Java陣列
- PHP專題-PHP陣列PHP陣列
- PHP 陣列系列PHP陣列
- php 清空陣列PHP陣列
- PHP陣列轉換為js陣列PHP陣列JS
- Java學習之陣列練習Java陣列
- PHP陣列學習之怎麼去除空白或者重複的元素PHP陣列
- PHP陣列學習之更改鍵/值的大寫或小寫PHP陣列
- PHP 陣列搜尋 sdk & 陣列分頁PHP陣列
- PHP xml 轉陣列 陣列轉 xml 操作PHPXML陣列
- 【Numpy學習08】陣列迭代陣列
- C#學習 陣列(22)C#陣列
- Java 學習筆記 二維陣列和物件陣列Java筆記陣列物件
- php陣列問題PHP陣列
- PHP 陣列合並PHP陣列
- 重學前端之(3)陣列、排序前端陣列排序
- 陣列排序函式-php陣列函式(一)陣列排序函式PHP
- PHP中二維陣列與多維陣列PHP陣列
- PHP:常用PHP陣列操作函式PHP陣列函式
- 字尾陣列 學習筆記陣列筆記
- linux shell陣列深入學習理解Linux陣列
- 陣列更加深入的學習陣列
- JavaScript學習四(object物件,陣列,)JavaScriptObject物件陣列
- 字尾陣列學習筆記陣列筆記
- Java學習筆記——陣列練習(七)Java筆記陣列
- JavaScript 學習筆記 - 多維陣列變為一維陣列JavaScript筆記陣列
- Golang 學習——陣列指標和指標陣列的區別Golang陣列指標
- php 二維陣列排序PHP陣列排序
- PHP 陣列函式妙用PHP陣列函式
- PHP 陣列 & 字串處理PHP陣列字串
- PHP 陣列使用之道PHP陣列