小白看過來整理一下PHP常用數(shù)組函數(shù)

/*常用數(shù)組函數(shù)*/

//count函數(shù) 統(tǒng)計(jì)數(shù)組的元素個(gè)數(shù)

$arr1 = array(array(1,2,3),array(4,5,6));

$num = count($arr1);//默認(rèn) 0 不計(jì)算多維數(shù)組的元素

$num1 = count($arr1,1); // 1 遞歸計(jì)算多維數(shù)組中元素的個(gè)數(shù)

echo $num; //2

echo '
';

echo $num1; //8

//list函數(shù)把數(shù)組中的值賦值給一些變量 只適合索引數(shù)組

$names = ['王華','李麗','小紅'];

//把下標(biāo)為0的元素賦值給第一個(gè)變量,依次類推

list($name1,$name2,$name3) = $names;

echo 'name1:'.$name1.'
name2:'.$name2.'
name3:'.$name3;

//each 函數(shù)返回當(dāng)前元素的鍵名和鍵值,并將內(nèi)部指針向前移動(dòng)。

$names = ['a'=>'王華','李麗','小紅'];

print_r(each($names));

echo '
';

print_r(each($names));

$i = 0;

while($i<=count($names)){

print_r(each($names));

echo '
';

$i++;

}

//reset函數(shù)將數(shù)組內(nèi)部指針指向第一個(gè)元素

$names = ['a'=>'王華','李麗','小紅'];

print_r(each($names));

echo '
';

reset($names);//講數(shù)組內(nèi)的指針重置

print_r(each($names));

//使用list 和each 函數(shù)遍歷數(shù)組

$arr = ['id'=>1,'name'=>'陌陌','address'=>'北京'];

while(list($key,$value) = each($arr)){

echo "$key=>$value".'
';

}

$arr = array(

'id'=>1,

'name'=>'沫沫',

'address'=>'北京',

'name2'=>'沫沫'

);

//array_unique 函數(shù)用于移除數(shù)組中的重復(fù)元素

//返回一個(gè)新的數(shù)組

$result = array_unique($arr);

//重復(fù)的元素只保留第一個(gè)元素的鍵

print_r($result);

//array_search 函數(shù)用于獲取數(shù)組中元素對(duì)應(yīng)的鍵名

echo "沫沫對(duì)應(yīng)的鍵為:";

echo array_search('沫沫',$arr);

$arr1 = array(1,'name'=>'李四',23,45,'1');

$result = array_merge($arr,$arr1);//注釋:如果兩個(gè)或更多個(gè)數(shù)組元素有相同的鍵名,則最后的元素會(huì)覆蓋其他元素。

$result = array_merge_recursive($arr,$arr1);//不會(huì)進(jìn)行鍵名覆蓋,而是將多個(gè)相同鍵名的值遞歸組成一個(gè)數(shù)組。

echo '

';

print_r($result);

echo '

';

//array_chunk函數(shù)將一個(gè)數(shù)組分割為多個(gè)元素的二維數(shù)組

echo '

';

print_r(array_chunk($arr,3));

echo '

';

print_r(array_chunk($arr,2,true));

//array_combine創(chuàng)建一個(gè)數(shù)組,用一個(gè)數(shù)組的值作為其鍵名,另一個(gè)數(shù)組的值作為其值

$a = array('green', 'red', 'yellow');

$b = array('avocado', 'apple', 'banana');

$c = array_combine($a, $b);

print_r($c);

//in_array檢查數(shù)組中是否存在某個(gè)值

$os = array("Mac", "NT", "Irix", "Linux");

if (in_array("Irix", $os)) {

echo "Got Irix";

}

if (in_array("mac", $os)) {

echo "Got mac";

}

//array_key_exists():檢查給定的鍵名或索引是否存在于數(shù)組中歡迎加qun 598394989

$search_array = array('first' => 1, 'second' => 4);

if (array_key_exists('first', $search_array)) {

echo "The 'first' element is in the array";

}

//array_keys():返回?cái)?shù)組中部分的或所有的鍵名

$array = array("size" => "XL", "color" => "gold");

echo '數(shù)組中所有的鍵名返回結(jié)果:
';

print_r(array_keys($array));

//array_values():返回?cái)?shù)組中所有的值

echo '
數(shù)組中所有的值返回結(jié)果:
';

print_r(array_values($array));

/*數(shù)組排序函數(shù)*/

$arr = ['b'=>5,'f'=>11,'a'=>4,'c'=>3,'d'=>10,'e'=>100];

var_dump($arr);

echo '-----------------';

//元素 升序 重新索引

sort($arr);

//元素 降序 重新索引

rsort($arr);

//元素 升序 不重新索引

asort($arr);

//元素 降序 不重新索引

arsort($arr);

//下標(biāo) 升序

ksort($arr);

//下標(biāo) 降序

krsort($arr);

var_dump($arr);

/*冒泡排序*/

$arr = [5,1,14,7,20,2];

//var_dump($arr);

for($i=0;$i

for($j=$i+1;$j

if($arr[$i]>$arr[$j]){

$tmp = $arr[$j];

$arr[$j] = $arr[$i];

$arr[$i] = $tmp;

}

}

}

var_dump($arr);

//shuffle函數(shù)把數(shù)組中的元素按隨機(jī)順序重新排列

$puke = ['紅桃K','方塊A','梅花J','黑桃O'];

shuffle($puke);

print_r($puke);

array_sum():計(jì)算數(shù)組中所有元素的和

$arr = [5,1,14,7,20,2];

echo array_sum($arr);

//array_push將一個(gè)或多個(gè)單元壓入數(shù)組的末尾

$puke = ['紅桃K','方塊A','梅花J','黑桃O'];

array_push($puke,'小王','大王');

$puke[]='方塊1';

print_r($puke);

$puke2 = ['小王','大王'];

array_push($puke,$puke2);

print_r($puke);

//如果用 array_push() 來給數(shù)組增加一個(gè)單元,還不如用 $array[] =,因?yàn)檫@樣沒有調(diào)用函數(shù)的額外負(fù)擔(dān)。

//array_unshift() 函數(shù)用于向數(shù)組插入新元素。新數(shù)組的值將被插入到數(shù)組的開頭。

$puke = ['紅桃K','方塊A','梅花J','黑桃O'];

array_unshift($puke,'小王','大王');

print_r($puke);

//array_pop() 函數(shù)刪除數(shù)組中的最后一個(gè)元素。

$puke = ['紅桃K','方塊A','梅花J','黑桃O'];

array_pop($puke);

print_r($puke);

//array_shift() 函數(shù)刪除數(shù)組中第一個(gè)元素,并返回被刪除元素的值。

$puke = ['紅桃K','方塊A','梅花J','黑桃O'];

array_shift($puke);

print_r($puke);

// array_rand() 從數(shù)組中隨機(jī)取出一個(gè)或多個(gè)鍵名

$puke = ['紅桃K','方塊A','梅花J','黑桃O'];

$puke2 = array_rand($puke,2);//隨機(jī)取出下標(biāo)

print_r($puke2);

echo $puke[$puke2[0]];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容