php 数组相关

array_slice从数组中取出一段

<?php
$input 
= array("a""b""c""d""e");

$output array_slice($input2);      // returns "c", "d", and "e"
$output array_slice($input, -21);  // returns "d"
$output array_slice($input03);   // returns "a", "b", and "c"

// note the differences in the array keys
print_r(array_slice($input2, -1));
print_r(array_slice($input2, -1true));
?>

array_merge 合并一个或多个数组
<?php
$array1 
= array("color" => "red"24);
$array2 = array("a""b""color" => "green""shape" => "trapezoid"4);
$result array_merge($array1$array2);
print_r($result);
?>

array_diff 计算数组的差集
<?php
$array1 
= array("a" => "green""red""blue""red");
$array2 = array("b" => "green""yellow""red");
$result array_diff($array1$array2);
print_r($result);
?>

array_pop 将数组最后一个单元弹出(出栈)
<?php
$stack 
= array("orange""banana""apple""raspberry");
$fruit array_pop($stack);
print_r($stack);
?>
array_shift 将数组开头的单元移出数组
<?php
$stack 
= array("orange""banana""apple""raspberry");
$fruit array_shift($stack);
print_r($stack);
?>

array_push 将一个或多个单元压入数组的末尾(入栈)
<?php
$stack 
= array("orange""banana");
array_push($stack"apple""raspberry");
print_r($stack);
?>
array_unshift 在数组开头插入一个或多个单元
<?php
$queue 
= array("orange""banana");
array_unshift($queue"apple""raspberry");
?>

array_rand 从数组中随机取出一个或多个单元
<?php
srand
((float) microtime() * 10000000);
$input = array("Neo""Morpheus""Trinity""Cypher""Tank");
$rand_keys array_rand($input2);
print 
$input[$rand_keys[0]] . "\n";
print 
$input[$rand_keys[1]] . "\n";
?>
array_replace 使用传递的数组替换第一个数组的元素

<?php
$base 
= array("orange""banana""apple""raspberry");
$replacements = array(=> "pineapple"=> "cherry");
$replacements2 = array(=> "grape");
$basket array_replace($base$replacements$replacements2);
print_r($basket);
?>
array_unique 移除数组中重复的值
<?php
$input 
= array("a" => "green""red""b" => "green""blue""red");
$result array_unique($input);
print_r($result);
?>

array_filter 用回调函数过滤
<?php
function odd($var)
{
    return(
$var == 1);
}
function 
even($var)
{
    return(
$var == 0);
}
$array1 = array("a"=>1"b"=>2"c"=>3"d"=>4"e"=>5);
$array2 = array(6789101112);
echo 
"Odd :\n";
print_r(array_filter($array1"odd"));
echo 
"Even:\n";
print_r(array_filter($array2"even"));
?>

array_intersect — 计算数组的交集
<?php
$array1 
= array("a" => "green""red""blue");
$array2 = array("b" => "green""yellow""red");
$result array_intersect($array1$array2);
?>

array_reverse — 返回一个单元顺序相反的数组

<?php
$input  
= array("php"4.0, array("green""red"));
$result array_reverse($input);
$result_keyed array_reverse($inputTRUE);
?>

array_search — 在数组中搜索给定的值,如果成功则返回相应的键名
<?php
$array 
= array(=> 'blue'=> 'red'=> 'green'=> 'red');
$key array_search('green'$array); // $key = 2;
$key array_search('red'$array);   // $key = 1;
?>

array_multisort 数组中的单元 对多个数组或多维数组进行排序
<?php
$arr01 = array(1=>'11',2=>'33',3=>'22');
$arr02 = array(3=>array('num'=>'22','nm'=>'z'),2=>array('num'=>'33','nm'=>'s'),1=>array('num'=>'11','nm'=>'c'));array_multisort($arr02,SORT_ASC,$arr01);
var_dump($arr02);
?>

range — 建立一个包含指定范围单元的数组


<?php
// array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
foreach (range(012) as $number) {
    echo 
$number;
}

// The step parameter was introduced in 5.0.0
// array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
foreach (range(010010) as $number) {
    echo 
$number;
}

// Use of character sequences introduced in 4.1.0
// array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i');
foreach (range('a''i') as $letter) {
    echo 
$letter;
}
// array('c', 'b', 'a');
foreach (range('c''a') as $letter) {
    echo 
$letter;
}

list — 把数组中的值赋给一些变量

<?php
$info = array(array(1341234), 'brown', 'caffeine');
list($drink, $color, $power) = $info;
echo "$drink is $color and $power makes it special.\n";//Array is brown and caffeine makes it special.
?>

sort — 对数组排序

asort — 对数组进行排序并保持索引关系

rsort — 对数组逆向排序

arsort — 对数组进行逆向排序并保持索引关系

<?php
$fruits 
= array("d" => "lemon""a" => "orange""b" => "banana""c" => "apple");
arsort($fruits);
foreach (
$fruits as $key => $val) {
    echo 
"$key = $val\n";
}
?>

shuffle — 将数组打乱

<?php
$numbers 
range(1,20);
shuffle($numbers);
foreach (
$numbers as $number) {
    echo 
"$number ";
}
?>

current — 返回数组中的当前单元

end — 将数组的内部指针指向最后一个单元

prev — 将数组的内部指针倒回一位

next — 将数组中的内部指针向前移动一位

reset — 将数组的内部指针指向第一个单元

<?php
$transport 
= array('foot''bike''car''plane');
$mode current($transport); // $mode = 'foot';
$mode next($transport);    // $mode = 'bike';
$mode current($transport); // $mode = 'bike';
$mode prev($transport);    // $mode = 'foot';
$mode end($transport);     // $mode = 'plane';
$mode current($transport); // $mode = 'plane';
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值