<?php/** * Created by PhpStorm. * User: 63448 * Date: 2018/5/6 * Time: 21:56 */echo "<h3>強大的數組函數</h3> ";echo "<hr>";//數組的定義 $arr1 = array(); $arr2 = [];//數組賦值 $arr = array('a', 'b'); $arr = array('key1' => 'a', 'key2' => 'b');// 利用 list 函數給數組賦值 list($arr[], $arr[], $arr[]) = [1, 2, 3];/** * implode() - 數組轉字符串 *///函數功能:把數組以必定格式轉爲字符串。$arr = array('Hello','World!','I','love','Shanghai!');echo implode(" ",$arr);// 數組以空格連在一塊兒,轉成字符串echo "<hr>";/** * explode() - 字符串轉數組 *///函數功能:把字符串以必定格式切割轉爲數組。 $str = "Hello world. I love Shanghai!"; print_r (explode(" ",$str));// 字符串以空格的方式切割,轉爲數組echo "<hr>";/** * array_multisort() - 數組排序 *///函數功能:能夠同時對多個數組進行排序,關聯鍵名保持不變,數字鍵名會被從新索引。// 自定義數據$data[] = array('volume' => 67, 'edition' => 2);$data[] = array('volume' => 86, 'edition' => 1);$data[] = array('volume' => 85, 'edition' => 6);$data[] = array('volume' => 98, 'edition' => 2);$data[] = array('volume' => 86, 'edition' => 6);$data[] = array('volume' => 67, 'edition' => 7);// 取得列的列表foreach ($data as $key => $row) { $volume[$key] = $row['volume']; $edition[$key] = $row['edition'];}// 先將數據根據 volume 降序排列,出現重複時再根據 edition 升序排列// 把 $data 做爲最後一個參數,以通用鍵排序array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);print_r($data);echo "<hr>";/** * array_column() - 獲取數組指定一列 *///函數功能:根據指定的 key,獲取指定的那一列數據。// 表示由數據庫返回的可能記錄集的數組$a = array( array('id' => 5698, 'first_name' => 'Bill', 'last_name' => 'Gates',), array('id' => 4767, 'first_name' => 'Steve', 'last_name' => 'Jobs',), array('id' => 3809, 'first_name' => 'Mark', 'last_name' => 'Zuckerberg',));// 對目標數組獲取 last_name 的一列,並複製到結果數組$last_names = array_column($a, 'last_name');print_r($last_names);echo "<hr>";/** * array_diff() - 數組相減求差集合 *///函數功能:對兩個數組進行比較,求兩個數組的差集。$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");$a2=array("e"=>"red","f"=>"black","g"=>"purple");$a3=array("a"=>"red","b"=>"black","h"=>"yellow");// 把數組的差集保存到結果數組$result=array_diff($a1,$a2,$a3);print_r($result);echo "<hr>";/** * array_flip() - 數組鍵和值互換位置 *///函數功能:將數組中的鍵和值進行位置調換,$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");$result=array_flip($a1);print_r($result);echo "<hr>";/** * array_intersect() - 兩個數組的交集 *///函數功能:比較兩個數據的交集,算出兩個數組的相同部分。$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");$a2=array("e"=>"red","f"=>"green","g"=>"blue");$result=array_intersect($a1,$a2);print_r($result);echo "<hr>";/** * array_key_exists() - 判斷數組鍵名是否存在 *///函數功能:判斷數組中指定鍵名或索引是否存在,僅適用一維數組。$a=array("Volvo"=>"XC90","BMW"=>"X5");if (array_key_exists("BMW",$a)) { echo "鍵存在!";} else { echo "鍵不存在!";}echo "<hr>";/** * array_merge() - 合併數組 *///函數功能:合併多個數據,不會合並相同鍵值的元素。$a1=array("red","green");$a2=array("blue","yellow");print_r(array_merge($a1,$a2));echo "<hr>";/** * array_pad() - 按照設定補全數組元素 *///函數功能:設定函數長度,多除少補地保證數組長度跟設定的一致,能夠設置補充元素的值。$a=array("red","green");print_r(array_pad($a,10,"blue"));echo "<hr>";/** * array_pop() - 數組最後一個元素出棧(刪) *///函數功能:把數組最後一個函數去掉。$a=array("red","green","blue");print_r(array_pop($a));//打印刪除的那一個echo "<hr>";/** * array_product() - 數組內元素相乘 *///函數功能:計算數組內的全部元素相乘的結果,空數組返回1。$result = array_product([1,2,3]);print_r($result);echo "<hr>";/** * array_sum() - 數組內元素相加 *///函數功能:計算數組內全部元素相加的結果,空數組返回0。$result = array_product([1,2,3]);print_r($result);echo "<hr>";/** * array_push() - 數組疊加元素 *///函數功能:給數組疊加(入棧)元素,能夠是多個。$a=array("red","green");array_push($a,"blue","yellow");print_r($a);echo "<hr>";/** * array_search() - 數組搜索鍵值 *///函數功能:搜索數組指定值,搜索成功將返回首個元素的鍵值。$a=array("a"=>"red","b"=>"green","c"=>"blue");echo array_search("red",$a);echo "<hr>";/** * array_shift() - 數組第一個元素出棧(刪) *///函數功能:把數組中的第一個元素刪掉,彈出第一個元素。$a=array("a"=>"red","b"=>"green","c"=>"blue");echo array_shift($a)."---";print_r ($a);echo "<hr>";echo "<hr>";?>