现在的位置: 首页 > 编程语言 > 正文

php常用数组函数

2019年07月19日 编程语言 ⁄ 共 4501字 ⁄ 字号 评论关闭

<?php
/*-------------计算数组所有的值----start-------------------*/
$arr = array(1,"hello",1,"word","hello");
$count = array_count_values($arr);
print_r($count);
/*-----------------end------------------------------------*/

/*----------计算数组的差异----start------------------------*/
$array1 = array("a" => "green","red","blue","b"=>"yellow");
$array2 = array("b" => "green","yellow","red");
$result = array_diff($array1, $array2);
print_r($result);
/*-----------------end------------------------------------*/

/*-----------数组索引------start---------------------------*/
$arr_key = array_keys($array1);
print_r($arr_key);
/*-----------------end------------------------------------*/

/*---------合并两个以上的数组,覆盖--------start-----------*/
$merge = array_merge($array1,$array2);
print_r($merge);
/*-----------------end------------------------------------*/

/*---------以递归方式合并两个以上数组,不覆盖------start----*/
$merge2 = array_merge_recursive($array1,$array2);
print_r($merge2);
/*-----------------end------------------------------------*/

/*------------排序复合或多样尺寸的数组------------start----*/
//$array3 = array(array("10",100,90,"a"),array(1, 3, "2", 1));
$array3 = array("10",100,90,"a");
array_multisort($array3);
print_r($array3);
array_multisort($array3,SORT_ASC,SORT_STRING);//按照字符串升序
print_r($array3);
$desc = array_multisort($array3,SORT_DESC,SORT_NUMERIC);//按照数字降序
print_r($array3);
/*-----------------end------------------------------------*/

/*-----------取得数组的最后一个元素------start--------------*/
$result1 = array_pop($arr);
print_r($result);
/*-----------------end------------------------------------*/

/*-------增加一个或多个元素到数组的末端之上---------start----*/
$array4 = array();
$data['key1'] = 'apple';
$data['key2'] = 'banana';
array_push($array4, $data);
print_r($array4);
/*-----------------end------------------------------------*/

/*----------随机挑选数组的一个或多个值出来---------start----*/
$array5 = array(10,12,13,15);
$result2 = array_rand($array5,2);
foreach ($result2 as $val){
//输出数组键值对应的值
print_r($array5[$val]);
}
/*-----------------end------------------------------------*/

/*------------传回颠倒元素顺序的数组--------------start----*/
$result6 = array_reverse($array5);
print_r($result6);
/*-----------------end----*/

/*------------取得数组的第一个元素----------------start----*/
$result7 = array_shift($array5);
print_r($result7);
/*-----------------end------------------------------------*/

/*--------抽出数组的一部份------------------------start----*/
$array6 = array("a","b","c","d","e","f","g","h");
$result8 = array_slice($array6, 2);
$result9 = array_slice($array6, 2,2);
$result10 = array_slice($array6, 2,-2);
print_r($result8);
echo "<br />";
print_r($result9);
echo "<br />";
print_r($result10);
/*-----------------end------------------------------------*/

/*------------从数组移除相同的值--------------------start----*/
$array7 = array('score1' =>100,'subject1' =>1,'score2' =>100,'subject2' =>2,'score3' =>99,'subject3' =>3);
$result11 = array_unique($array7);
print_r($result11);
/*-----------------end------------------------------------*/

/*---------增加一个或多个元素到数组的起始处----------start----*/
array_unshift($array6, "new_yuan_su");
print_r($array6);
/*-----------------end------------------------------------*/

/*-----------传回数组所有的值------start--------------------*/
$result12 = array_values($array6);
for ($i = 0;$i <= 8;$i++){
print_r($result12[$i].'--');

}
/*-----------------end------------------------------------*/

/*------------颠倒数组的顺序且维持索引值的关系-----start----*/
$array8 = array('score1' =>100,'score2' =>101,'score3' =>99);
arsort($array8);
for(reset($array8) ; $key = key($array8) ; next($array8)){
echo "array8[$key] = ".$array8[$key]."<br />";
}
/*-----------------end------------------------------------*/

/*---------计算变量中元素的数目--------------------start----*/
echo count($array8);
/*-----------------end------------------------------------*/

/*----------设定数组的内部指标指到最后的元素--------start----*/
print_r(end($array8));
/*-----------------end------------------------------------*/

/*---------搜寻数组中值是否存在某元素值-------------start----*/
if (in_array(100, $array8)) {
print 'yes100';
}
/*-----------------end------------------------------------*/

/*---------从数组中取得索引值----------------------start----*/
echo key($array8);
/*-----------------end------------------------------------*/

/*-------设定数组的内部指标到它的第一个元素---------start----*/
print_r(reset($array8));
/*-----------------end------------------------------------*/

/*-------将数组的顺序弄混---------------------------start----*/
$numbers = range(1,20);
srand(time());
shuffle($numbers);
while (list(, $number) = each($numbers)) {
echo "$number ";
}
echo "<br />";
/*-----------------end------------------------------------*/

/*------------取得数组中元素的数目------------------start----*/
echo sizeof($array8);

/*-----------------end------------------------------------*/

?>

抱歉!评论已关闭.