$arr = array("a","b","c");
$arr1 = array("a"=>1,"b"=>2,5,10=>100); //關聯陣列
$arr2 = array();
$arr2 = "15";
$arr2 = 15;
$arr3 =100;
$arr3 =10;
$arr3 ='中國夢';
echo $arr3[0];
下標如果有重複,後面的會覆蓋前面的
陣列單元的順序是由其放入順序決定而不是下標
按鍵值關係劃分
索引陣列 關聯陣列 混合陣列
按陣列的維數劃分
一維陣列 多維陣列
// 求乙個一維陣列的平均值
$a = array(1,11,12,13,100);
$n =count($a);
$sum =0;
for ($i=0; $i <$n ; $i++)
echo "一維陣列的平均值是".$sum/$n."
";// 求乙個二維陣列的平均值
$a1 = array(
array(10,11,100),
array(10,101,100),
array(100,300,100,400),
);$len = count($a1);
$sum = 0;
$c = 0;
for ($i=0; $i < $len; $i++)
}echo "二維陣列的平均值為".$sum/$c."
";// 求乙個一維陣列的最大值
$a3 = array(10,100,1,300);
$count = count($a3);
$max = $a3[0] ;
for ($i=0; $i < $count ; $i++)
}echo "一維陣列的最大值是".$max."
";// 求乙個二維陣列的最大值
$a4 = array(
array(100,0,10,999),
array(100000000000000,100,10,9999),
array(10,55,10000,999999999),
);$max = $a4[0][0];
for ($i=0; $i < count($a4); $i++) }}
echo "二維陣列的最大值是".$max."
";//交換一維陣列的最大值和最小值
$arr5 = array(100,1,999,1024,888);
$max_index = -1;
$min_index = -1;
$max = $arr5[0];
$min = $arr5[0];
for ($i=0; $i < count($arr5); $i++)
if($min > $arr5[$i])
}$temp = $arr5[$max_index];
$arr5[$max_index] = $arr5[$min_index];
$arr5[$min_index] = $temp;
echo "最大值索引是".$max_index."最小值索引是".$min_index."
";echo "一維陣列最大值和最小值交換後的結果為".implode(" ",$arr5)."
";
$arr = array(1,100,35);
foreach ($arr as $key => $value)
//陣列指標操作
$arr = array(10,200,500);
dowhile(next($arr));
//指標預設在第乙個元素處
$arr2 = array(100,88,1989,10,30);
foreach ($arr2 as $key => $value)
$key = key($arr2);
$value = current($arr2);
//遍歷之後指標的位置
var_dump($key); //null
var_dump($value); //false
for+next遍歷陣列
$arr3 = array(1=>100,"aa"=>900,"中國夢");
for ($i=0; $i foreach值傳遞不改變原陣列
$arr6 = array(1,100,888,777);
foreach ($arr6 as $key => $value)
print_r($arr6); //原陣列不變
foreach引用傳遞改變原陣列
$arr7 = array(100,200,300);
foreach ($arr7 as $key => &$value)
print_r($arr7); //原陣列發生了變化
正序 sort() asort()
sort()不保留鍵值關係,asort()保留鍵值關係
rsort() arsort() 倒序
ksort() 對陣列按照鍵名排序
krsort() 對陣列按照鍵名逆向排序
usort()
使用使用者自定義的比較函式對陣列中的值進行排序
shuffle()
將陣列打亂
冒泡演算法 選擇演算法 二分演算法
二分演算法
<?php
header("content-type: text/html; charset=utf-8");
$a = array(1,3,6,8,10,81,75,121,413,451,818,9089,10000);
/** $arr 傳入的陣列
$s 要查詢的值
$begin 開始位置
$end 結束位置
return 找到返回下標,找不到返回false
**/function search($arr,$s,$begin,$end)
$mid = floor(($begin+$end)/2);
if($arr[$mid]==$s)else if($arr[$mid] < $s)else
return $res;
}$index = search($a,1,0,count($a)-1);
var_dump($index);
?>
PHP基礎之陣列
陣列就是乙個鍵值對組成的語言結構,鍵類似於酒店的房間號,值類似於酒店房間裡儲存的東西。如果你去某個酒店住店,服務員會告訴你房間號是多少,具體房間裡有儲存了什麼,那就需要根據房間號進到房間裡才知道了。下面的圖能更清晰的說明啥是陣列。在php中,arr array 表示建立乙個空陣列,並把建立的空陣列賦...
PHP基礎之陣列(2陣列遍歷)
1.普通陣列資料的訪問通常是通過陣列元素的下標來實現訪問。如果資料組所有的資料都要依次輸出的話,我們就要使用一些簡化的規則來實現自動獲取下標以及輸出陣列元素。arr array 0 array name tom 1 array name jom 典型的二維陣列 訪問一維元素 arr 一維下標 arr...
PHP基礎學習之陣列介紹
php中,陣列的下標可以整數,也可以是字串,陣列的元素順序不是由下標決定,而是由其 加入 的順序決定 本站收錄這篇文章php基礎學習之陣列介紹,詳細解說文章中相關php基礎學習陣列技術與知識,歡迎能給大家一些在這方面的支援和幫助!下面是詳細內容 陣列基礎 php中,陣列的下標可以整數,也可以是字串 ...