⑴ php裡面怎麼為數組的每個元素應用回調函數
具體看是想對元素如何操作,比如 array_filter():用回調函數過濾數組中的單元,可以使用回調函數對數組中元素進行篩選剔除元素;
如果是針對每個元素,使用其他函數的話,array_map :數組的每個元素應用回調函數,使用示例:
為數組每個元素執行+5計算;
$arr = [1,2,3,4,5];
#匿名函數操作
$res=array_map(function($item){return $item*2; },$arr);
array_map("函數名", 數組);支持使用 函數名+數據變數 使用。
⑵ php將數組切分為多個數組的函數有嗎
答案:你一定是在尋找 array_chunk 函數 :-)
准確地說,這個函數就是用於將數組進行分塊切割。舉一個簡單的示例:
保留索引
以上。
⑶ PHP中array_splice()函數對數組元素的添加、修改、刪除
array_splice() 函數從數組中可實現對數據中元素的添加、修改、刪除操作,方便對數組中的值進行處理。
語法:array_splice(array,start,length,array) ,start是從0開始標記,千萬不要忘記。注意添加和修改時參數是4個,刪除是3個參。
添加元素:
刪除元素:
修改元素:
⑷ php數組求和函數
php數組求和函數代碼:
<?php
for($i=0;$i<=count($c);$i++){
$sum+=$c[$i]['網頁'];
}
?>
php編程技術:
PHP是一種易於學習和使用的伺服器端腳本語言。只需要很少的編程知識你就能使用PHP建立一個真正交互的WEB站點。 PHP是能讓你生成動態網頁的工具之一。PHP網頁文件被當作一般HTML網頁文件來處理並且在編輯時你可以用編輯HTML的常規方法編寫PHP。
PHP代表:超文本預處理器(PHP: Hypertext Preprocessor)。PHP是完全免費的,不用花錢,可以從PHP官方站點自由下載。PHP遵守 GNU公共許可(GPL),在這一許可下誕生了許多流行的軟體諸如Linux和Emacs。可以不受限制的獲得源碼,甚至可以從中加進你自己需要的特色。PHP在大多數Unix平台,GUN/Linux和微軟Windows平台上均可以運行。怎樣在Windows環境的PC機器或Unix機器上安裝 PHP的資料可以在PHP官方站點上找到。安裝過程很簡單。
⑸ PHP面試題2--常用的數組函數
一,數組操作的基本函數
1. 數組的鍵名與值
array_values($arr); 獲得數組的值
array_keys($arr); 獲得數組的鍵名
array_flip($arr); 數組的值與鍵名互換(如果有重復前面的會被後面的覆蓋)
in_array("apple",$arr); 在數組中檢索apple
array_search("apple",$arr); 在數組中檢索apple,如果存在返回鍵名
array_key_exists("apple",$arr); 檢索給定的鍵名是否存在數組中
isset($arr["apple"]); 檢索給定的鍵名是否存在數組中
array_unique() 刪除數組中的重復值
2. 數組的內部指針
current($arr); 返回數組中的當前單元
pos($arr); 返回數組中的當前單元
key($arr); 返回數組中的當前單元的鍵名
prev($arr); 將數組中的內部指針倒回一位
next($arr); 將數組中的內部指針向前移動一位
end($arr); 將數組中的內部指針指向最後一單元
reset($arr); 將數組中的內部指針指向第一單元
each($arr); 將返回數組當前元素的一個鍵/值的構造數組,並使數組指針向前移動一位
list($key,$value) = each($arr); 獲得數組當前元素的鍵名和值
3. 數組和變數之間的轉換
extract(array,extract_rules,prefix); 函數從數組中將變數導入到當前符號表。該函數使用數組鍵名作為變數名,使用數組鍵值作為變數值。針對數組中的每個元素,將在當前符號表中創建對應的一個變數。
compact(var1,var2...); 創建一個包含變數名和它們的值的數組。任何沒有變數名與之對應的字元串都被略過。
二,數組的分段和填充
1. 數組的分段
array_slice(array,start,length,preserve); 返回數組中的選定部分。如果數組中有字元串鍵名,返回的數組將保留鍵名。
array_splice(array1,start,length,array2); 從數組中移除選定的元素,並用新元素取代它。函數返回被移除元素的數組,如果函數沒有移除任何元素(length=0),則替代數組將從start參數的位置插入。不保留替代數組的鍵名。
2. 數組的分割
array_chunk(array,size,preserve_keys); 把一個數組分割為新的數組塊。
3. 數組的填充
array_pad(array,size,value); 將指定數量的帶有指定值的元素插入到數組。如果將size參數設置為負數,該函數會在原始數組之前插入新的元素。如果size參數小於原始數組的長度,該函數不會刪除任何元素。
三,數組與棧
array_push(array,value1,value2...); 向數組尾部插入一個或多個元素。即使數組有字元串鍵名,添加的元素將是數字鍵名。
array_pop(array); 刪除數組的最後一個元素。返回值是數組的最後一個值,即,被刪除的元素值。如果數組為空,或者不是一個數組,將返回NULL。
四,數組和隊列
array_shift(array); 用於刪除數組中的第一個元素,並返回被刪除的元素。如果鍵名是數字,所有的元素都將獲得新的鍵名,從0開始,並以1遞增。
array_unshift(array,value1,value2,value3...); 用於向數組插入新元素,新數組的值將被插入到數組的開頭。數值鍵名將從0開始,以1遞增。字元串鍵名將保持不變。
五,回調函數
array_walk(array,myfunction,parameter...); 將數組中的每個元素應用到 用戶自定義函數。在函數中,數組的鍵名和鍵值是參數。可以通過把用戶自定義函數的第一個參數指定為引用:&$value,來改變數組元素的值。
array_map(myfunction,array1,array2,array3...); 函數將用戶自定義函數作用到數組中的每個值上,並返回用戶自定義函數作用後的帶有新的值的數組。myfunction可以為null
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ); 用回調函數過濾數組中的元素。該函數把輸入數組中的每個鍵值傳給回調函數。如果回調函數返回true,則把輸入數組中的當前鍵值返回給結果數組,數組鍵名保持不變。
array_rece(array,myfunction,initial); 函數發送數組中的值到用戶自定義函數,並返回一個字元串。如果數組是空的或者初始值未傳遞,該函數返回null。initial為可選,規定發送到函數處理的第一個值。
六,數組的計算
1. 數組元素的求和
array_sum(array); 返回數組中的所有值的和
2. 數組的合並
array_merge(array1,array2,array3...); 用於把一個或多個數組合並成一個數組。如果兩個或更多個數組有相同的鍵名。則最後的數組會覆蓋其他數組。如果向函數輸入了一個數組,且鍵名是整數,則該函數會返回帶有整數鍵名的新數組,其鍵名以0開始進行重新索引。
array_merge_recursive(array1,array2,array3...); 用於把一個或多個數組合並為一個數組,該函數與array_merge()函數之間的不同是在處理兩個或多個數組元素有相同的鍵名的情況下,array_merge_recursive()不會進行鍵名覆蓋,而是將多個相同鍵名的值遞歸組成一個數組。如果您僅僅向 array_merge_recursive() 函數輸入一個數組,結果與 array_merge() 相同。
3. 數組的差集
array_diff(array1,array2,array3...); 函數用於比較兩個(或更多個)數組的值,並返回差集。該函數比較兩個(或更多個)數組的值(key=>value中的value),並返回一個差集數組,該數組包括了所有在被比較的數組(array1)中,但是不在任何其他參數數組(array2或array3等等)中的值。
array_diff_assoc(array1,array2,array3...); 函數用於比較兩個(或更多個)數組的鍵名和鍵值,並返回差集。該函數比較兩個(或更多個)數組的鍵名和鍵值,並返回一個差集數組,該數組包括了所有在被比較的數組(array1)中,但是不在任何其他參數數組(array2 或 array3 等等)中的鍵名和鍵值。
4. 數組的並集
array_intersect(array1,array2,array3...); 函數用於比較兩個(或更多個)數組的鍵值,並返回交集。該函數比較兩個(或更多個)數組的鍵值,返回一個交集數組,該數組包括了所有在被比較的數組(array1)中,同時也在任何其他參數數組(array2 或 array3 等等)中的鍵值。
array_intersect_assoc(array1,array2,array3...); 函數用於比較兩個(或更多個)數組的鍵名和鍵值,並返回交集。該函數比較兩個(或更多個)數組的鍵名和鍵值,並返回一個交集數組,該數組包括了所有在被比較的數組(array1)中,同時也在任何其他參數數組(array2 或 array3 等等)中的鍵名和鍵值。
七,數值的排序
array_multisort(): 對多個數組或多維數組進行排序
sort(): 以升序對數組排序
rsort(): 以降序對數組排序
asort(): 根據值,以升序對關聯數組進行排序
ksort(): 根據鍵,以升序對關聯數組進行排序
arsort(): 根據值,以降序對關聯數組進行排序
krsort(): 根據鍵,以降序對關聯數組進行排序
資料參考:
https://www.php.cn/php-weizijiaocheng-381347.html
https://www.runoob.com/php/php-ref-array.html
⑹ php有什麼函數能夠直接轉換數組
因為不支持代碼標簽了,上面放圖,下面是代碼
php API 中沒有可以直接打到效果的函數,在此封裝了一個
下面是代碼
代碼部分
<?php
/**
* $list 數組
* $column_num 數據列數量
*/
function groupBy($list, $column_num){
$group = [];
$keys = array_keys($list);
for ($i=0; $i<$column_num; $i++){
$item = [];
foreach ($keys as $key){
$item[$key] = $list[$key][$i];
}
$group[] = $item;
}
return $group;
}
$temp = [
'bg' => ['bg1','bg2','bg3'],
'img' => ['img1','img2','img3'],
'url' => ['url1','url2','url3'],
];
$list = groupBy($temp,3);
echo(json_encode($list));
?>
⑺ php里如何把 數組里的指定元素給取出來
一、首先把數組賦予一個變數,如:
$arr=Array('0'=>'a','1'=>'b','2'=>'c');
二、取出數組的值
取第一個值:$arr[0]
取第二個值:$arr[1]
取第三個值:$arr[2]
取值的方法是通過引用下標號來訪問某個值。
程序代碼如下:
(7)php處理數組的函數擴展閱讀
設置 PHP 常量
設置常量,使用 define() 函數,函數語法如下:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
該函數有三個參數:
name:必選參數,常量名稱,即標志符。
value:必選參數,常量的值。
case_insensitive:可選參數,如果設置為 TRUE,該常量則大小寫不敏感。默認是大小寫敏感的。
我們創建一個區分大小寫的常量,,常量值為 "歡迎訪問"的例子:
<?php
// 區分大小寫的常量名
define("GREETING", "歡迎訪問");
echo GREETING; // 輸出 "歡迎訪問"
echo '<br>';echo greeting; // 輸出 "greeting"
?>
⑻ PHP中的常用數組操作方法有哪些
PHP中的常用數組操作方法(每種都給你舉個2個例子)
一、數組操作的基本函數
數組的鍵名和值
array_values($arr); 獲得數組的值
array_keys($arr);獲得數組的鍵名
數組的內部指針
current($arr); 返回數組中的當前單元
pos($arr); 返回數組中的當前單元
數組和變數之間的轉換
extract($arr);用於把數組中的元素轉換成變數導入到當前文件中,鍵名當作變數名,值作為變數值
註:(第二個參數很重要,可以看手冊使用)使用方法
echo$a;compact(var1,var2,var3);用給定的變數名創建一個數組
二、數組的分段和填充
數組的分段
array_slice($arr,0,3); 可以將數組中的一段取出,此函數忽略鍵名
array_splice($arr,0,3,array("black","maroon")); 可以將數組中的一段取出,與上個函數不同在於返回的序列從原數組中刪除
分割多個數組
array_chunk($arr,3,TRUE); 可以將一個數組分割成多個,TRUE為保留原數組的鍵名
數組的填充
array_pad($arr,5,'x'); 將一個數組填補到制定長度
三、數組與棧
array_push($arr,"apple","pear"); 將一個或多個元素壓入數組棧的末尾(入棧),返回入棧元素的個數
array_pop($arr); 將數組棧的最後一個元素彈出(出棧)
四、數組與列隊
array_shift($arr);數組中的第一個元素移出並作為結果返回(數組長度減1,其他元素向前移動一位,數字鍵名改為從零技術,文字鍵名不變)
array_unshift($arr,"a",array(1,2));在數組的開頭插入一個或多個元素
五、回調函數
array_walk($arr,'function','words'); 使用用戶函數對數組中的每個成員進行處理(第三個參數傳遞給回調函數function)
array_mpa("function",$arr1,$arr2); 可以處理多個數組(當使用兩個或更多數組時,他們的長度應該相同)
六、數組的排序
通過元素值對數組排序
sort($arr); 由小到大的順序排序(第二個參數為按什麼方式排序)忽略鍵名的數組排序
rsort($arr); 由大到小的順序排序(第二個參數為按什麼方式排序)忽略鍵名的數組排序
通過鍵名對數組排序
ksort($arr); 按照鍵名正序排序
krsort($arr); 按照鍵名逆序排序
七、數組的計算
數組元素的求和
array_sum($arr); 對數組內部的所有元素做求和運算
數組的合並
array_merge($arr1,$arr2); 合並兩個或多個數組(相同的字元串鍵名,後面的覆蓋前面的,相同的數字鍵名,後面的不會做覆蓋操作,而是附加到後面)
「+」$arr1+$arr2; 對於相同的鍵名只保留後一個
數組的差集
array_diff($arr1,$arr2); 返回差集結果數組
array_diff_assoc($arr1,$arr2,$arr3); 返回差集結果數組,鍵名也做比較
數組的交集
array_intersect($arr1,$arr2); 返回交集結果數組
array_intersect_assoc($arr1,$arr2); 返回交集結果數組,鍵名也做比較
八、其他的數組函數
range(0,12); 創建一個包含指定范圍單元的數組
array_unique($arr); 移除數組中重復的值,新的數組中會保留原始的鍵名
⑼ php里說出數組的常用函數及用法
PHP常用操作數組的函數
變數和數組的轉換
compact() 將變數整合成數組
extract() 將數組中的每個值以鍵的名分解成變數
變數和字元串轉換
explode() 以某個子串分解字元串成數組
implode() 將一維數組根據某個符號拼接成字元串
數組與數組之間關系
array_merge() 合並/並集
array_diff() 差集
array_intersect() 交集
數組值的操作
array_pop() 刪除(彈出)數組最後一個值
array_push() 向數組中追加一個值
判斷數組是否存在數組中
in_array() 判斷一個值是否存在數組中
array_key_exists() 判斷鍵是否存在數組中
數組去重
array_unique() 數組去重
獲取二維數組中的值的集合
array_column() 獲取二維數組中的值的集合
提取數組的鍵與值
array_values 提取數組的值構成一維數組
array_keys 提取數組的鍵構成一維數組
返回數組中的隨機的鍵
array_rand() 返回數組中的隨機的鍵
返回數組中值的數量
count() 返回數組中值的和
查詢數組中的值
array_search() 查詢數組中的值是否存在/in_array()有點相似
排序
sort() 排序有很多種,按鍵或值升降序
array_multisort() 多維數組排序
分割數組
array_chunk()
⑽ (100分)[php]寫幾個你熟悉的數組處理函數!
這種問題還用提問嗎?直接看官方的用戶手冊,一冊在手,問題全有。
array_change_key_case — 返回字元串鍵名全為小寫或大寫的數組
array_chunk — 將一個數組分割成多個
array_combine — 創建一個數組,用一個數組的值作為其鍵名,另一個數組的值作為其值
array_count_values — 統計數組中所有的值出現的次數
array_diff_assoc — 帶索引檢查計算數組的差集
array_diff_key — 使用鍵名比較計算數組的差集
array_diff_uassoc — 用用戶提供的回調函數做索引檢查來計算數組的差集
array_diff_ukey — 用回調函數對鍵名比較計算數組的差集
array_diff — 計算數組的差集
array_fill_keys — 使用指定的鍵和值填充數組
array_fill — 用給定的值填充數組
array_filter — 用回調函數過濾數組中的單元
array_flip — 交換數組中的鍵和值
array_intersect_assoc — 帶索引檢查計算數組的交集
array_intersect_key — 使用鍵名比較計算數組的交集
array_intersect_uassoc — 帶索引檢查計算數組的交集,用回調函數比較索引
array_intersect_ukey — 用回調函數比較鍵名來計算數組的交集
array_intersect — 計算數組的交集
array_key_exists — 檢查給定的鍵名或索引是否存在於數組中
array_keys — 返回數組中所有的鍵名
array_map — 將回調函數作用到給定數組的單元上
array_merge_recursive — 遞歸地合並一個或多個數組
array_merge — 合並一個或多個數組
array_multisort — 對多個數組或多維數組進行排序
array_pad — 用值將數組填補到指定長度
array_pop — 將數組最後一個單元彈出(出棧)
array_proct — 計算數組中所有值的乘積
array_push — 將一個或多個單元壓入數組的末尾(入棧)
array_rand — 從數組中隨機取出一個或多個單元
array_rece — 用回調函數迭代地將數組簡化為單一的值
array_replace_recursive — 使用傳遞的數組遞歸替換第一個數組的元素
array_replace — 使用傳遞的數組替換第一個數組的元素
array_reverse — 返回一個單元順序相反的數組
array_search — 在數組中搜索給定的值,如果成功則返回相應的鍵名
array_shift — 將數組開頭的單元移出數組
array_slice — 從數組中取出一段
array_splice — 把數組中的一部分去掉並用其它值取代
array_sum — 計算數組中所有值的和
array_udiff_assoc — 帶索引檢查計算數組的差集,用回調函數比較數據
array_udiff_uassoc — 帶索引檢查計算數組的差集,用回調函數比較數據和索引
array_udiff — 用回調函數比較數據來計算數組的差集
array_uintersect_assoc — 帶索引檢查計算數組的交集,用回調函數比較數據
array_uintersect_uassoc — 帶索引檢查計算數組的交集,用回調函數比較數據和索引
array_uintersect — 計算數組的交集,用回調函數比較數據
array_unique — 移除數組中重復的值
array_unshift — 在數組開頭插入一個或多個單元
array_values — 返回數組中所有的值
array_walk_recursive — 對數組中的每個成員遞歸地應用用戶函數
array_walk — 對數組中的每個成員應用用戶函數
array — 新建一個數組
arsort — 對數組進行逆向排序並保持索引關系
asort — 對數組進行排序並保持索引關系
compact — 建立一個數組,包括變數名和它們的值
count — 計算數組中的單元數目或對象中的屬性個數
current — 返回數組中的當前單元
each — 返回數組中當前的鍵/值對並將數組指針向前移動一步
end — 將數組的內部指針指向最後一個單元
extract — 從數組中將變數導入到當前的符號表
in_array — 檢查數組中是否存在某個值
key — 從關聯數組中取得鍵名
krsort — 對數組按照鍵名逆向排序
ksort — 對數組按照鍵名排序
list — 把數組中的值賦給一些變數
natcasesort — 用「自然排序」演算法對數組進行不區分大小寫字母的排序
natsort — 用「自然排序」演算法對數組排序
next — 將數組中的內部指針向前移動一位
pos — current 的別名
prev — 將數組的內部指針倒回一位
range — 建立一個包含指定范圍單元的數組
reset — 將數組的內部指針指向第一個單元
rsort — 對數組逆向排序
shuffle — 將數組打亂
sizeof — count 的別名
sort — 對數組排序
uasort — 使用用戶自定義的比較函數對數組中的值進行排序並保持索引關聯
uksort — 使用用戶自定義的比較函數對數組中的鍵名進行排序
usort — 使用用戶自定義的比較函數對數組中的值進行排序