php数组常用函数
返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的单元。 callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
/*例1*/functioncube( $n ) {return( $n * $n * $n ); } $a = array( 1 , 2 , 3 , 4 , 5 ); $b = array_map ( "cube" , $a ); print_r ( $b ); /** 输出 Array ( [0] => 1 [1] => 8 [2] => 27 [3] => 64 [4] => 125 ) **/?>
/*例2*//*将多个数组进行合并*/$a = array( 1 , 2 , 3 , 4 , 5 ); $b = array( "one" , "two" , "three" , "four" , "five" ); $c = array( "uno" , "dos" , "tres" , "cuatro" , "cinco" ); $d = array_map ( null , $a , $b , $c ); print_r ( $d ); /*输出 Array ( [0] => Array ( [0] => 1 [1] => one [2] => uno ) [1] => Array ( [0] => 2 [1] => two [2] => dos ) [2] => Array ( [0] => 3 [1] => three [2] => tres ) [3] => Array ( [0] => 4 [1] => four [2] => cuatro ) [4] => Array ( [0] => 5 [1] => five [2] => cinco ) ) */?>
step表示间隔值,不写默认为1
/* 例1,产生一组数字 */$nums = range(1, 5); print_r($nums); /* 输出: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) */$nums = range(1, 5, 2); print_r($nums); /* 输出: Array ( [0] => 1 [1] => 3 [2] => 5 ) */
/* 例2,产生一组字母数组 */$array = range('a','f'); print_r($array); /* 输出: Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f ) */$array = array('a', 'f', 2); print_r($array); /* 输出: print_r($array); /* 输出: Array ( [0] => a [1] => c [2] => e ) */
array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
/* 解释:如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。 */$array1 = array(1, 2, 3, 4, 5); $array2 = array(1, 2, 8, 9); $array3 = array_merge($array1, $array2); print_r($array3); /* 输出: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 1 [6] => 2 [7] => 8 [8] => 9 ) */
如果输入的数组中有相同的字符串键名,则这些值会被合并到一个数组中去,这将递归下去,因此如果一个值本身是一个数组,本函数将按照相应的条目把它合并为另一个数组。然而,如果数组具有相同的数组键名,后一个值将不会覆盖原来的值,而是附加到后面。
会根据键名相同一层一层的将值进行合并
/* 例1 */$ar1 = array("color" => array("favorite" => "red"), 5); $ar2 = array(10, "color" => array("favorite" => array('a'=>"red"), "blue")); $result = array_merge_recursive($ar1, $ar2); print_r($result); /* 输出: Array ( [color] => Array ( [favorite] => Array ( [0] => red [a] => red 重点 ) [0] => blue ) [0] => 5 [1] => 10 ) */
/* 例2 */$ar1 = array("color" => array("favorite" => "red"), 5); $ar2 = array(10, "color" => array("favorite" =>"red", "blue")); $result = array_merge_recursive($ar1, $ar2); print_r($result); /* 输出: Array ( [color] => Array ( [favorite] => Array ( [0] => red [1] => red 重点 ) [0] => blue ) [0] => 5 [1] => 10 ) */
$input = array(12, 10, 9); $result = array_pad($input, 5, 0); // result is array(12, 10, 9, 0, 0)$result = array_pad($input, -7, -1); // result is array(-1, -1, -1, -1, 12, 10, 9)$result = array_pad($input, 2, "noop"); // not padded/* 如果size?>
array_pop() 弹出并返回 array 数组的最后一个单元,并将数组 array 的长度减一。 如果 array 为空(或者不是数组)将返回 NULL 。 此外如果被调用不是一个数则会产生一个 Warning。
$stack = array("orange", "banana", "apple", "raspberry"); $fruit = array_pop($stack); print_r($stack); ?>/* 输出 Array ( [0] => orange [1] => banana [2] => apple ) */
array_shift() 将 array 的第一个单元移出并作为结果返回,将 array 的长度减一并将所有其它单元向前移动一位。所有的数字键名将改为从零开始计数,文字键名将不变。 如果 array 为空(或者不是数组)将返回 NULL
array_push()
reset()
end()
test() 格式化输出数组
array_rand()
array_replace()
array_reverse()
array_sum()
sort() 将值排序完成后,会是一个索引数组,即便原来是一个关联数组
usort()
rsort()
ksort()
krsort()
uksort()
asort()
arstor()
in_array()
array_splice()
以上就介绍了php常用数组函数查询手册,包括了数组函数,php方面的内容,希望对PHP教程有兴趣的朋友有所帮助。