日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php函数从数组中取出指定的数目,PHP数组函数

發(fā)布時間:2023/12/10 php 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php函数从数组中取出指定的数目,PHP数组函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.array_rand()從數(shù)組中隨機取出一個或多個元素(返回值是:隨機元素的鍵)$arr=['js','css',25,'php',30];

printf('

%s',print_r($arr,true));

//隨機去2個元素

$res=array_rand($arr,2);

printf('

%s',print_r($res,true));

2.array_replace()使用后面數(shù)組元素相同 key 的值替換 array1 數(shù)組的值。//如果數(shù)組1 和 數(shù)組2/多個數(shù)組中,出現(xiàn)同一個鍵,那么數(shù)組1的值將被數(shù)組2/最后出現(xiàn)的數(shù)組替換。

$arr=['id'=>201,'name'=>'皮皮蝦','age'=>20];

$arr1=['id'=>301];

//如果一個鍵存在于數(shù)組2/后面數(shù)組中,但是不存在數(shù)組1,則會在數(shù)組1中創(chuàng)建這個元素。

$arr2=['id'=>401,'QQ'=>'258'];

$res=array_replace($arr,$arr1,$arr2);

printf('

%s',print_r($arr,true));

printf('

%s',print_r($res,true));

3.array_intersect() 計算數(shù)組的交集$arr=[1,10,'php','css',25];

$arr1=[8,'js',25,'php'];

$res=array_intersect($arr,$arr1);

printf('

%s',print_r($res,true));

4.array_intersect_assoc()返回數(shù)組交集,鍵名也做比較$arr1=['id'=>102,'name'=>'蘋果','money'=>100,'橘子'];

$arr2=['id'=>103,'name'=>'香蕉','money'=>100,'西瓜','橘子'];

printf('

%s
',print_r($arr1,true));

printf('

%s
',print_r($arr2,true));

$res=array_intersect_assoc($arr1,$arr2);

printf('

%s',print_r($res,true));

5.array_diff() 返回數(shù)組的差集$arr1=['id'=>102,'name'=>'蘋果','money'=>100,'橘子','西瓜'];

$arr2=['id'=>103,'name'=>'香蕉','money'=>100,'西瓜'];

printf('數(shù)組1:

%s
',print_r($arr1,true));

printf('數(shù)組2:

%s
',print_r($arr2,true));

$res=array_diff($arr1,$arr2);

printf('數(shù)組1和2的差集:

%s',print_r($res,true));

6.array_diff_assoc() 返回數(shù)組差集,鍵名也做比較$arr1=['id'=>102,'name'=>'蘋果','money'=>100,'橘子','西瓜'];

$arr2=['id'=>103,'name'=>'香蕉','money'=>100,'西瓜'];

printf('數(shù)組1:

%s
',print_r($arr1,true));

printf('數(shù)組2:

%s
',print_r($arr2,true));

$res=array_diff_assoc($arr1,$arr2);

printf('數(shù)組1和2的差集:

%s',print_r($res,true));

7.array_chunk() 將一個數(shù)組分割成多個子數(shù)組參數(shù):array_chunk( $array, $size ,$preserve_keys)$array:需要分割的數(shù)組$size :分割為幾個數(shù)組$preserve_keys :默認false,為true時保留數(shù)組中原來的鍵名$input_array=array('a','b','c','d','e');

$res=array_chunk($input_array,2);

printf('

%s',print_r($res,true));

echo'


';

$res=array_chunk($input_array,2,true);

printf('

%s',print_r($res,true));

8.array_key_exists() 檢查數(shù)組里是否有指定的鍵名或索引參數(shù):array_key_exists( $key, $array):bool返回值 :成功時返回true,失敗時返回false。注意:array_key_exists()僅僅搜索第一維的鍵。多維數(shù)組里嵌套的鍵不會被搜索到。$arr=['id'=>102,'name'=>'小豬','like'=>null];

echo array_key_exists('name',$arr)?'true':'false';//返回true

echo'


';

// isset() 對于數(shù)組中為 NULL 的值不會返回 TRUE,而 array_key_exists() 會。

echo isset($arr['like'])?'true':'false';//返回 false

echo'


';

echo array_key_exists('like',$arr)?'true':'false';//返回 true

9.in_array() 檢查數(shù)組中是否存在某個值$arr=[102,'XiaoZhu','攝影','100'];

echo in_array(102,$arr)?'true':'false','
';//返回true

// 如果第三個參數(shù)為true 則 還會檢查類型是否相同。

echo in_array(100,$arr)?'true':'false','
';//返回true

echo in_array(100,$arr,true)?'true':'false','
';// 返回false

//字符串,區(qū)分大小寫

echo in_array('xiaoZhu',$arr)?'true':'false','
';//返回false

10array_search() 搜索指定的值,返回鍵名$arr=['blue','red','green','red'];

printf('

%s',print_r($arr,true));

// 搜索的值是字符串,則比較以區(qū)分大小寫的方式進行。

echo $res=array_search('green',$arr),'
';//返回 2

// 搜索的值出現(xiàn)多次,則返回第一個匹配的鍵。

echo $res=array_search('red',$arr);//返回1

11.array_filter() 用回調(diào)函數(shù)過濾數(shù)組中的值,返回的是一個新數(shù)組語法:array_filter(數(shù)組,回調(diào)函數(shù));將數(shù)組中的每個元素依次傳入回調(diào)函數(shù)中,若回調(diào)函數(shù)返回/的是true,則該元素將會被保存在一個新的數(shù)組中,并且索引保持不變$arr=[5,8,10,15,14,11,6,24];

$res=array_filter($arr,function($var){

//獲取數(shù)組中的偶數(shù)返回

return$var=(!($var%2));

});

printf('

%s',print_r($res,true));

12.array_map()定義:返回的是新數(shù)組,原數(shù)組不變。作用:是每次傳入一個元素到回調(diào)函數(shù)內(nèi),把回調(diào)函數(shù)的返回值存入到新數(shù)組內(nèi),可以多個數(shù)組同時傳入。新數(shù)組和原數(shù)組的數(shù)組長度應(yīng)該一樣。語法:array_map( func, array1,[array2…])$arr=['星期一','星期二','星期三','星期四','星期五','星期六','星期天'];

$arr1=['上班','上班','上班','休息','上班','休息','上班'];

// shuffle()隨機打亂數(shù)組順序

$res1=shuffle($arr1);

$arr=array_map(function($a,$b)

{

return''.'今天是:'.$a.'要'.$b.'了'.'';

},$arr,$arr1);

printf('

%s',print_r($arr,true));

13.array_slice()和array_splice()很相似。一個用于從數(shù)組中取值,可理解為查詢。一個用于對數(shù)組進行增刪改。

array_slice($array, $offset, $length, $preserve_key) 第一個表示數(shù)組,第二個參數(shù)表示從數(shù)組的索引開始取值,可以是負值,負值表示倒數(shù)幾個元素。第三個參數(shù)表示取值長度,正值表示長度,負值表示到倒數(shù)幾個元素(不包括該元素)。第四個參數(shù)表示保持鍵名不變(索引數(shù)組有用)。$arr=[101,'張三',15,'zs@163.cn','134***','攝影'];

//起始從索引2開始

printf('

%s',print_r(array_slice($arr,2),true));

$arr=[101,'張三',15,'zs@163.cn','134***','攝影'];

//起始從索引2開始,截止到索引-2結(jié)束(不包括索引-2的數(shù)據(jù))

printf('

%s',print_r(array_slice($arr,2,-2),true));

array_splice($array, $offset, $length, $replace_arr).前三個參數(shù)與array_slice()意義一樣。第四個參數(shù)表示替換的數(shù)組元素,如果數(shù)組元素只有一個值,可以用字符串代替。$arr=[101,'張三',15,'zs@163.cn','134***','攝影'];

printf('原數(shù)組元素:

%s
',print_r($arr,true));

//刪除元素

$res=array_splice($arr,3,2);

printf('刪除的元素:

%s',print_r($res,true));

//替換元素

$res=array_splice($arr,3,2,['zs@qq.cn','158***']);

printf('替換的元素:

%s',print_r($arr,true));

// $res= array_splice($arr, -4,-2,['zs@qq.cn']);

// printf('替換的元素:

%s',print_r($arr,true));

// 增加元素

$res=array_splice($arr,1,0,['php','js']);

printf('增加的元素:

%s',print_r($arr,true));

總結(jié):對回調(diào)函數(shù)還是理解模糊,尤其array_reduce()和array_walk()還沒弄明白。多回看下視頻,理解后再補交吧。

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的php函数从数组中取出指定的数目,PHP数组函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。