/**
* @FunctionName array_values()
* @Action 返回数组中的所有值,变成索引数组
**/
$array = array( "size" => "XL" , "color" => "gold" );
echo '<pre>';
print_r ( array_values ( $array ));
echo '</pre>';
// Array
// (
// [0] => XL
// [1] => gold
// )
echo '<br>';
/**
* @FunctionName array_keys()
* @Action 返回数组中的所有的键名,键名作为值的索引数组。
**/
$array = array(0=>'abc','b'=>2,'3'=>4,'d'=>'f');
echo '<pre>';
print_r( array_keys($array));
echo '</pre>';
// Array
// (
// [0] => 0
// [1] => b
// [2] => 3
// [3] => d
// )
echo '<br>';
$array = array('blue','grey','green','red','blue');
echo '<pre>';
print_r( array_keys($array, 'blue'));
// Array
// (
// [0] => 0
// [1] => 4
// )
echo '</pre>';
echo '<br>';
/**
* @FunctionName array_flip()
* @Action 交换数组中的键值,交换后如果有重复的键,前面的会被后面的给覆盖
**/
$array = array('blue','grey','green','red','blue');
echo '<pre>';
print_r( array_flip($array));
echo '</pre>';
// Array
// (
// [blue] => 4
// [grey] => 1
// [green] => 2
// [red] => 3
// )
echo '<br>';
/**
* @FunctionName in_array()
* @Action 检测数组中是否存在某值
* @Param1 value
* @Param2 array
* @Param3 可选 true/false(默认),true区分类型,没有true是等于。有true是全等
**/
$a = array( '1.10' , 12.4 , 1.13 );
var_dump( in_array('12.4', $a));//true
var_dump( in_array('12.4', $a, true));//false
echo '<br>';
/**
* @FunctionName array_search()
* @Action 在数组中搜索给定的值,如果搜索到就返回键值。
* @Param1 value
* @Param2 array
**/
$array = array( 0 => 'blue' , 1 => 'red' , 2 => 'green' , 3 => 'red' );
$key = array_search ( 'green' , $array );
var_dump($key);//2
echo '<br>';
/**
* @FunctionName array_key_exists()
* @Action 检查给定的键是否存在数组中,
* @Param1 key
* @Param2 array
* @Return true/false
**/
$search_array = array( 'first' => 1 , 'second' => 4 );
var_dump( array_key_exists('second', $search_array));//true
echo "<br>";
/**
* @FunctionName current()
* @Action 返回数组中的当前单元
**/
/**
* @FunctionName next()
* @Action 返回数组中的下一个单元
**/
/**
* @FunctionName prev()
* @Action 返回数组中的上一个单元
**/
/**
* @FunctionName end()
* @Action 返回数组中的最后的那个单元
**/
/**
* @FunctionName reset()
* @Action 返回数组中的第一个单元
**/
$transport = array( 'foot' , 'bike' , 'car' , 'plane' );
$mode = current ( $transport ); //foot
echo $mode;echo '<br>';
$mode = next ( $transport ); //bike
echo $mode;echo '<br>';
$mode = next ( $transport ); //car
echo $mode;echo '<br>';
$mode = prev ( $transport ); //bike
echo $mode;echo '<br>';
$mode = end ( $transport ); //plane
echo $mode;echo '<br>';
$mode = reset( $transport ); //foot
echo $mode;echo '<br>';
/**
* @FunctionName array_slice()
* @Action 从数组中取出一段
* @Param1 array
* @Param2 number 开始位置
* @Param3 number 结束位置
* @Param2 true/false(默认) true表示包含开始位置
**/
$input = array( "a" , "b" , "c" , "d" , "e" );
$output = array_slice ( $input , 2 );
echo '<pre>';
print_r($output);
echo '</pre>';
// Array
// (
// [0] => c
// [1] => d
// [2] => e
// )
$output = array_slice ( $input , -2 , 1 );
echo '<pre>';
print_r($output);
echo '</pre>';
// Array
// (
// [0] => d
// )
$output = array_slice ( $input , 0 , 3 );
echo '<pre>';
print_r($output);
echo '</pre>';
// Array
// (
// [0] => a
// [1] => b
// [2] => c
// )
$output = array_slice ( $input , 2 , -1 , true );
echo '<pre>';
print_r($output);
echo '</pre>';
// Array
// (
// [2] => c
// [3] => d
// )
/**
* @FunctionName array_splice()
* @Action 从数组中去掉一部分,并用其他值代替
* @Param1 key1
* @Param2 key2
* @Param3 另一个数组array
**/
$a1 = array(0=>"Dog", 1=>"Cat", 2=>"Horse", 3=>"Bird");
$a2 = array(0=>"Tiger", 1=>"Lion");
array_splice($a1, 0, 2, $a2);
print_r($a1);//Array ( [0] => Tiger [1] => Lion [2] => Horse [3] => Bird )
echo '<br>';
/**
* @FunctionName array_pad()
* @Action 用值将数组填充到指定长度
* @Param1 array
* @Param2 指定长度
* @Param3 填充的值
**/
$input = array( 12 , 10 , 9 );
$result = array_pad ( $input , 10 , 'a' );
print_r($result);//Array ( [0] => 12 [1] => 10 [2] => 9 [3] => a [4] => a [5] => a [6] => a [7] => a [8] => a [9] => a )
/**
* @FunctionName array_push()
* @Action 将一个或多个单元压入数组的末尾(入栈)
* @Param1 array
* @Param2 value1
* @Param3 value2
**/
/**
* @FunctionName array_pop()
* @Action 将数组中最后一个单元弹出数组(出栈)
* @Param1 array
**/
/**
* @FunctionName array_unshift()
* @Action 在数组开头插入一个或多个单元
* @Param1 array
* @Param2 value1
* @Param3 value2
**/
/**
* @FunctionName array_shift()
* @Action 在数组开头的单元移出数组
* @Param1 array
**/
/**
* @FunctionName array_sum()
* @Action 计算数组中所有求和,如果有字符串,不计算在内
* @Param1
* @Param2
**/
$array = array('a',2,1);
print_r( array_sum($array));
echo '<br>';
/**
* @FunctionName array_merge()
* @Action 合并一个或多个数组
* @Param1 合并后会变成索引数组
* @Param2
**/
$array1 = array( "color"=>"red" , 2 , 4 );
$array2 = array( "a" ,"b", "color"=>"green", "shape"=>"trapezoid" , 4);
$result = array_merge ( $array1 , $array2 );
print_r ( $result );//Array ( [color] => green [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 )
echo '<br>';
/**
* @FunctionName array_diff()
* @Action 计算数组的差集
* @Param1 array1-array2
* @Param2
**/
$array1 = array( "a" => "green" , "red" , "blue" , "red" );
$array2 = array( "b" => "green" , "yellow" , "red" );
$result = array_diff ( $array1 , $array2 );
print_r ( $result );//Array ( [1] => blue )
echo '<br>';
/**
* @FunctionName array_diff_assoc()
* @Action 带索引计算数组的差集
**/
$array1 = array( "a" => "green" , "b" => "brown" , "c" => "blue" , "red" );
$array2 = array( "a" => "green" , "yellow" , "red" );
$result = array_diff_assoc ( $array1 , $array2 );
print_r ( $result );// Array ( [b] => brown [c] => blue [0] => red )
echo '<br>';
/**
* @FunctionName array_intersect()
* @Action 计算数组的交集
**/
$array1 = array( "a" => "green" , "red" , "blue" );
$array2 = array( "b" => "green" , "yellow" , "red" );
$result = array_intersect ( $array1 , $array2 );
print_r ( $result );//Array ( [a] => green [0] => red )
echo '<br>';
/**
* @FunctionName array_intersect_assoc()
* @Action 带索引计算数组的交集
**/
$array1 = array( "a" => "green" , "red" , "blue" );
$array2 = array( "a" => "green" , "yellow" , "red" );
$result = array_intersect_assoc ( $array1 , $array2 );
print_r ( $result );//Array ( [a] => green )
echo '<br>';
/**
* @FunctionName array_unique()
* @Action 移除数组中重复的值,不区分索引值
**/
$input = array( "a" => "green" , "red" , "b" => "green" , "blue" , "red" );
$result = array_unique ( $input );
print_r ( $result );//Array ( [a] => green [0] => red [1] => blue )
echo '<br>';
/**
* @FunctionName shuffle()
* @Action 打乱数组
**/
$numbers = range ( 1 , 20 );
shuffle ( $numbers );
print_r($numbers);
echo '<br>';
/**
* @FunctionName array_rand()
* @Action 从数组中随机取出一个或多个单元
* @Return 索引所组成的数组
**/
$input = array( "Neo" , "Morpheus" , "Trinity" , "Cypher" , "Tank" );
$rand_keys = array_rand ( $input , 2 );
print_r($rand_keys);//Array ( [0] => 1 [1] => 2 )
echo '<br>';
/**
* @FunctionName compact()
* @Action 建立一个数组,包括变量名和它们的值
* @Param1 变量名
**/
$firstname = "Peter";
$lastname = "Griffin";
$age = "38";
$result = compact("firstname", "lastname", "age");
print_r($result);//Array ( [firstname] => Peter [lastname] => Griffin [age] => 38 )
echo '<br>';
/**
* @FunctionName substr_count()
* @Action 计算字符串出现的次数
* @Param1
* @Param2
**/
$str = "This is nice";
echo substr_count($str,"is");//2
echo '<br>';
/**
* @FunctionName sort()
* @Action 不保持索引关系,按照大写-》小写-》数字 排序
* @Param1 array
**/
$array = array('a','A',2,1,0,'0');
sort($array);
print_r($array);//Array ( [0] => A [1] => a )
echo '<br>';
/**
* @FunctionName rsort()
* @Action 对数组逆序排序
**/
/**
* @FunctionName asort()
* @Action 对数组进行排序,保存索引关系
**/
/**
* @FunctionName arsort()
* @Action 对数组进行逆序排序,保持索引关系
**/
/**
* @FunctionName ksort()
* @Action 对数组进行按照键名排序
**/
/**
* @FunctionName krsort()
* @Action 对数组进行按照键名逆序排序
**/
/**
* @FunctionName natsort()
* @Action 用'自然算法'对数组排序
**/
$array1 = array( "img12.png" , "img10.png" , "img2.png" , "img1.png" );
natsort ( $array1 );
print_r($array1);
//Array ( [3] => img1.png [2] => img2.png [1] => img10.png [0] => img12.png )
echo '<br>';
/**
* @FunctionName natcasesort()
* @Action '自然算法',对数组排序,不区分大小写
**/
$array1 = array( 'IMG0.png' , 'img12.png' , 'img10.png' , 'img2.png' , 'img1.png' , 'IMG3.png' );
natcasesort ( $array1 );
print_r($array1);
//Array ( [0] => IMG0.png [4] => img1.png [3] => img2.png [5] => IMG3.png [2] => img10.png [1] => img12.png )
echo '<br>';
数组函数
猜你喜欢
转载自blog.csdn.net/DarkAngel1228/article/details/80061434
今日推荐
周排行