您好,登錄后才能下訂單哦!
/* * 數組的常用函數 * 1.數組的鍵/值操作函數 * array_values()— 返回數組中所有的值 * array_keys()返回數組中部分的或所有的鍵名 * in_array() 檢查數組中是否存在某個值 如果找到 needle 則返回 TRUE,否則返回 FALSE。 * array_search — 在數組中搜索給定的值,如果成功則返回相應的鍵名 * array_key_exists — 檢查給定的鍵名或索引是否存在于數組中 * array_flip — 交換數組中的鍵和值 * array_reverse — 返回一個單元順序相反的數組 *2.數組中統計數組元素 *count — 計算數組中的單元數目或對象中的屬性個數 *array_count_values — 統計數組中所有的值出現的次數 返回一個關聯數組,用 input 數組中的值作為鍵名,該值在數組中出現的次數作為值。 *array_unique — 移除數組中重復的值 Returns the filtered array. *3.使用回調函數處理數組的函數 *array_filter — 用回調函數過濾數組中的單元 *array_walk — 使用用戶自定義函數對數組中的每個元素做回調處理 *array_map — 將回調函數作用到給定數組的單元上 * */ //array_values — 返回數組中所有的值 $arr = ['王小明','津沙港灣','小香港']; $a=array_values($arr); var_dump($a); $lamp=array( 'OS'=>'Linux', 'WebServer'=>'Apache', 'DB'=>'MySQL', 'Language'=>'PHP', 'lang'=>'PHP', 'num1'=>10, 'num2'=>'10', // 'girl'=>null ); var_dump(array_values($lamp)); list($OS,$WebServer,$DB,$Language) = array_values($lamp); echo $OS; $b=array_keys($lamp);//返回所有的鍵名 $c=array_keys($lamp,'Apache');//返回Apache鍵名 $d=array_keys($lamp,10,true);//返10 加true 表示10的值和類型都要相同。=== 必須是整型 var_dump($b); var_dump($d); //in_array if(in_array('MySQL',$lamp)){ echo '在數組中'; }else{ echo '不在數組中'; } //array_search — 在數組中搜索給定的值,如果成功則返回相應的鍵名 var_dump(array_search('MySQL',$lamp)); //array_key_exists — 檢查給定的鍵名或索引是否存在于數組中 if(array_key_exists('DB',$lamp)){ echo '在數組中'; }else{ echo '不在數組中'; } //array_key_exists判斷數組的值為null返回true if(array_key_exists('girl',$lamp)){ echo '在數組中'; }else{ echo '不在數組中'; } //isset() 判斷數組的值為null返回false if(isset($lamp['girl'],$lamp)){ echo '在數組中'; }else{ echo '不在數組中'; } //array_flip — 交換數組中的鍵和值 var_dump(array_flip($lamp)); //array_reverse — 返回一個單元順序相反的數組 var_dump(array_reverse($lamp)); //如果設置為 TRUE 會保留數字的鍵。 非數字的鍵則不受這個設置的影響,總是會被保留。 $arr1 = [ 1=>1, 3=>3, 5=>4 ]; var_dump(array_reverse($arr1,true)); ============================================================================ //count — 計算數組中的單元數目或對象中的屬性個數 $str='I am yangyihai'; var_dump(count($str));//int 1 $str1=[ 1=>[1,2,3], 2=>[2,4,6] ]; echo count($str1);//2 默認統計外層數組 echo count($str1,1);//8 如果可選的 mode 參數設為 COUNT_RECURSIVE(或 1),count() 將遞歸地對數組計數 外層加內層 $str2 = [1,1,2,2,2,3,5,7]; //array_count_values — 統計數組中所有的值出現的次數 返回一個關聯數組,用 input 數組中的值作為鍵名,該值在數組中出現的次數作為值。 var_dump(array_count_values($str2)); //array_unique — 移除數組中重復的值 Returns the filtered array. var_dump(array_unique($str2)); //array_filter — 用回調函數過濾數組中的單元 $arr = [1,2,4,null,"",-5-4-2,-4,3,false,true,3,4,'a']; var_dump($arr); var_dump(array_filter($arr)); function calltest($a){ if($a>=0){ return true; }else{ return false; } } function odd($var){ return($var &1);//奇數 跟1取與操作 } $arr1 = [1,2,3,4,5,6,7,8,9]; //var_dump(array_filter($arr,'calltest')); var_dump(array_filter($arr1,'odd')); var_dump(array_values(array_filter($arr1,function ($var){ return(!($var & 1));//偶數 }))); //array_walk — 使用用戶自定義函數對數組中的每個元素做回調處理 function walkcall(&$var){ echo $var=$var*$var.' '; } //典型情況下 funcname 接受兩個參數。array 參數的值作為第一個,鍵名作為第二個。 function myfun($value,$key){ echo "{$key}===>{$value}"; } array_walk($arr1, 'walkcall'); array_walk($arr1, 'myfun'); //使用匿名函數 array_walk($arr1,function(&$value,$key){ $value=$value+1; }); array_walk($arr1,function(&$value,$key,$str){ $value=$value+1; echo $key.$str.$value; },'————'); //var_dump($arr1); function cube($var){ return $var*$var*$var; } $arr2 = [1,2,3,4,5,6,7,8,9]; var_dump(array_map('cube',$arr2)); $arr3 = [1,2,3,4]; $arr4 = ['one','two','three','four']; function mapcall($a,$b){ echo "$a-----$b<br/>"; } $rarr=array_map('mapcall', $arr3,$arr4); var_dump($rarr); $rarr1=array_map(null, $arr3,$arr4); var_dump($rarr1);
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。