分享

php函数

 小马哥技术屋 2018-04-10
1、array_change_key_case 返回字符串全为小写或大写的数组
例如:
  $input_array = array('FirSt'=>1,'SecOnd'=>4);
  array_change_key_case($input_array,CASE_UPPER);
输入:
  array([FIRST] =>1,[SECOND]=>4)

2、array_chunk 将一个数组分割成多个
  例如:
  $input_array = array('a','b','c','d','e')
  1)array_chunk($input_array,2);  //拆分成只有2个元素的数组
输出:
 Array (
   [0] => Array (
     [0] => a
      [1] => b
      )
   [1] => Array (
     [0] => c
     [1] => d
   )
   [2] => Array (
     [0] => e
   )
)
2)array_chunk($input_array,2,true)
说明:
 设为 TRUE,可以使 PHP 保留输入数组中原来的键名。如果你指定了 FALSE,那每个结果数组将用从零开始的新数字索引。默认值是 FALSE
输出:
Array(
    [0] => Array(
            [0] => a
            [1] => b
        )

    [1] => Array (
            [2] => c
            [3] => d
        )
    [2] => Array(
            [4] => e
        )
)
3、array_column 返回数组中指顶的一列
语法:array_column($input,$mixed $column_key[,$mixed $index_key])
array_column()返回input中键值我column_key的列。如果置顶了可选参数index_key,那么input数组中的这一列的值将作为返回数组中对应值的键。
$records = array(
    array('id'=>2135,'first'=>'john','last_name'=>'doe'),
 array('id' => 3245,'first_name' => 'Sally','last_name' => 'Smith'),
 array(
'id' => 5342,'first_name' => 'Jane','last_name' => 'Jones'),
 array(
'id' => 5623,'first_name' => 'Peter','last_name' => 'Doe',)
);
例1:
$first_names = array_column($records,'first_name');
输出:
Array
(
    [0] => John
    [1] => Sally
    [2] => Jane
    [3] => Peter
) 
例2:
$last_names = array_column($records,'last_name','id');
说明:
从数组里取出last_names列,用相应的id作为键值。
$last_names = array_column($records,'last_name','id')
 Array(
    [2135] => Doe
    [3245] => Smith
   [5342] => Jones
   [5623] => Doe
)
4、array_combine 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值。
语法:array_combine($keys,$values)
例如:
  $a = array('green','red','yellow')
  $b = array('avocado','apple','banana')
  $c = array_combine($a,$b)
 输出:
array([green]=>avocado,[red]=>apple,[yellow]=>banana)

5、统计数组中所有的值出现的次数
  语法:
array_count_values($input)
   $array = array(1,'hellow',1,'world','hello')
array_count_values($array)
输出:
array(
    [1]=>2,
 [hello]=>2,
    [world]=>1
)
6、array_diff 计算数组的差集
$array1 = array('a'=>'green','red','blue','red')
   $array2 = array('b'=>'green','yellow','red')
$result = array_diff($array1,$array2)  //$array1  被对比的数组
   输出:
  array([1]=>blue)
7、array_fill 用指顶的值填充数组
$a = array_fill(5,6,'banana')  // 从下表5 开始  长度为6  充当值我banana
  输出:
array(
     [5]=> banana
   [6]=> banana
     [7]=> banana
  [8]=> banana
     [9]=> banana
  [10]=> banana
   )

8、array_fill_keys 使用指顶的键和值填充数组

例如:

 $keys = array('foo',5,10,'bar')

 $a = array_fill_keys($keys,'banana')

输出:

 array([foo]=>banana,[5]=>banana,[10]=>banana,[bar]=>banana)

9、array_filter 用回调函数过滤数组中的单元

 array_filter($input,$callback)

 说明:input 要循环的数组  callback 使用回调函数

例如:

 function odd($val){

  return $var;

}

$array1 = {};

array_filter($array1,'odd') //循环数组$array1,回调函数odd

10、array_flip 交换数组中的键和值  filter 无理的

说明:如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了

$trans = array("a" => 1"b" => 1"c" => 2);

$trabs = array_flip($trans);

Array
(
    [1] => b
    [2] => c
)

11、array_keys 返回数组中部分或所有的键名

12、array_merge 合并一个或多个数组 (重复会覆盖)

13、array_merge_recursive 递归地合并一个或多个数组

 $ar1 = array("color" => array("favorite" => "red"), 5);
 $ar2 = array(10"color" => array("favorite" => "green""blue"));
 $result array_merge_recursive($ar1$ar2);

输出:

Array
(
    [color] => Array
        (
            [favorite] => Array
                (
                    [0] => red
                    [1] => green
                )

            [0] => blue
        )

    [0] => 5
    [1] => 10
)

 14、array_multisort 对多个数组或多维数组进行排序

15、array_pad 用值将数组填补到指定长度
说明:
array_pad ( array $input , int $pad_size , mixed $pad_value )
input:需要被填充的原始数组
pad_size:新数组的长度。 pad_value:将被填充的值,只有在 input 的现有长度小于 pad_size 的长度时才有效。
例如:
$input = array(12109);
$result array_pad($input50);
// result is array(12, 10, 9, 0, 0)
$result array_pad($input, -7, -1);
// result is array(-1, -1, -1, -1, 12, 10, 9)

16、
array_pop 将数组最后一个单元弹出(出栈)
$stack = array("orange""banana""apple""raspberry");
$fruit array_pop($stack);

Array
(
    [0] => orange
    [1] => banana
    [2] => apple
)

17、array_product 计算数组中所有值的乘积
$a = array(2468);
echo 
"product(a) = " array_product($a) . "\n";
echo 
"product(array()) = " array_product(array()) . "\n";
输出:
product(a) = 384 product(array()) = 1

18、array_push 将一个或多个单元压入数组的末尾(入栈)
$stack = array("orange""banana");
array_push($stack"apple""raspberry");
Array
(
    [0] => orange
    [1] => banana
    [2] => apple
    [3] => raspberry
)
19、 array_rand 从数组中随机取出一个或多个单元
$input = array("Neo""Morpheus""Trinity""Cypher""Tank");
$rand_keys array_rand($input2);
echo 
$input[$rand_keys[0]] . "\n";
echo 
$input[$rand_keys[1]] . "\n";
20、
array_reduce 用回调函数迭代地将数组简化为单一的值
array_reduce ( array $input , callable $function [, mixed $initial = NULL ] )
$input  数组的数组  $function 回调行数  $initial 初始值 作为第一个值来处理
function rsum($v$w){
 
$v += $w;
  return 
$v;
}

function 
rmul($v$w){
 
$v *= $w;
  return 
$v;
}
$a = array(12345);
$x = array();
$b array_reduce($a"rsum"); //调用函数rsum。
$c array_reduce($a"rmul"10); // 10 * 1* 2*3*4*5
//10作为第一个值来处理
$d array_reduce($x"rsum""No data to reduce");

21、array_replace 使用传递的数组替换第一个数组的元素






  




 










 




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多