php函数及用法整理

1.compact函数

建立一个数组,包括变量名和它们的值

示例

<?php
$city  = "San Francisco";
$state = "CA";
$event = "SIGGRAPH";

$location_vars = array("city", "state");

$result = compact("event", $location_vars);
print_r($result);
?>

以上例程会输出:

Array
(
    [event] => SIGGRAPH
    [city] => San Francisco
    [state] => CA
)

2.array_change_key_case()函数

函数将数组的所有的键都转换为大写字母或小写字母

注意:
返回值:	返回带有小写字母的键的数组,或者返回带有大写字母的键的数组,或者如果 array 不是一个数组则返回 FALSE。

示例1:

<?php
$pets=array("a"=>"Cat","B"=>"Dog","c"=>"Horse","b"=>"Bird");
print_r(array_change_key_case($pets,CASE_UPPER));
?>

结果:

Array
(
    [A] => Cat
    [B] => Bird
    [C] => Horse
)

3.array_chunk()函数

函数把一个数组分割为新的数组块

示例1:

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43","Harry"=>"50");
print_r(array_chunk($age,2,true));
?>

结果:

Array
(
    [0] => Array
        (
            [Peter] => 35
            [Ben] => 37
        )

    [1] => Array
        (
            [Joe] => 43
            [Harry] => 50
        )

)

4.array_column()函数

返回输入数组中某个单一列的值

注意:
返回一个数组,数组的值为输入数组中某个单一列的值。PHP 版本:	5.5+

实例:

<?php
// 可能从数据库中返回数组
$a = array(
  array(
    'id' => 5698,
    'first_name' => 'Peter',
    'last_name' => 'Griffin',
  ),
  array(
    'id' => 4767,
    'first_name' => 'Ben',
    'last_name' => 'Smith',
  ),
  array(
    'id' => 3809,
    'first_name' => 'Joe',
    'last_name' => 'Doe',
  )
);

$last_names = array_column($a, 'last_name', 'id');
print_r($last_names);
?>

结果:

Array
(
  [5698] => Griffin
  [4767] => Smith
  [3809] => Doe
)

5.array_combine() 函数

函数通过合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组的元素为键值。

注释:键名数组和键值数组的元素个数必须相同!

示例:

<?php
$fname=array("Peter","Ben","Joe");
$age=array("35","37","43");

$c=array_combine($fname,$age);
print_r($c);
?>

结果:

Array ( [Peter] => 35 [Ben] => 37 [Joe] => 43 )

6.array_count_values() 函数

用于统计数组中所有值出现的次数。

说明: array_count_values() 返回一个数组: 数组的键是 array 里单元的值; 数组的值是 array 单元的值出现的次数。

array_count_values ( array $array ) : array

示例:

<?php
$a=array("A","Cat","Dog","A","Dog");
print_r(array_count_values($a));
?>

结果:

Array ( [A] => 2 [Cat] => 1 [Dog] => 2 )

7.array_diff_assoc

带索引检查计算数组的差集

说明: array_diff_assoc() 返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意和 array_diff() 不同的是键名也用于比较。

array_diff_assoc ( array $array1 , array $array2 , array $... = ? ) : array

示例:

<?php
$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
)

示例2:

<?php
$array1 = array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

结果2:

Array
(
    [0] => 0
    [1] => 1
    )

8.array_diff_key

使用键名比较计算数组的差集

说明: 根据 array1 中的键名和 array2 进行比较,返回不同键名的项。 本函数和 array_diff() 相同只除了比较是根据键名而不是值来进行的。

array_diff_key ( array $array1 , array $array2 , array $... = ? ) : array

示例 #1

<?php
$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_diff_key($array1, $array2));
?>

结果1:

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

9.array_diff_uassoc

用用户提供的回调函数做索引检查来计算数组的差集

说明: 对比了 array1 和 array2 并返回不同之处。 注意和 array_diff() 不同的是键名也用于比较。

和 array_diff_assoc() 不同的是使用了用户自定义的回调函数,而不是内置的函数。

array_diff_uassoc ( array $array1 , array $array2 , array $... = ? , callable $key_compare_func ) : array

示例 #1

<?php
function key_compare_func($a, $b)
{
    if ($a === $b) {
        return 0;
    }
    return ($a > $b)? 1:-1;
}

$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_uassoc($array1, $array2, "key_compare_func");
print_r($result);
?>

结果:

Array
(
    [b] => brown
    [c] => blue
    [0] => red
)

10.array_diff_ukey

用回调函数对键名比较计算数组的差集

说明: array_diff_ukey() 返回一个数组,该数组包括了所有出现在 array1 中但是未出现在任何其它参数数组中的键名的值。注意关联关系保留不变。本函数和 array_diff() 相同只除了比较是根据键名而不是值来进行的。

此比较是通过用户提供的回调函数来进行的。如果认为第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。

array_diff_ukey ( array $array1 , array $array2 , array $... = ? , callable $key_compare_func ) : array

示例 #1 array_diff_ukey() 例子

<?php
function key_compare_func($key1, $key2)
{
    if ($key1 == $key2)
        return 0;
    else if ($key1 > $key2)
        return 1;
    else
        return -1;
}

$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_diff_ukey($array1, $array2, 'key_compare_func'));
?>

以上例程会输出:

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

11.array_diff

计算数组的差集

说明: 对比 array 和其他一个或者多个数组,返回在 array 中但是不在其他 array 里的值。

array_diff ( array $array , array ...$arrays ) : array

示例 #1 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
(
    [1] => blue
)

12.array_fill_keys

使用指定的键和值填充数组

说明: 使用 value 参数的值作为值,使用 keys 数组的值作为键来填充一个数组。

array_fill_keys ( array $keys , mixed $value ) : array

示例 #1 array_fill_keys() 范例

<?php
$keys = array('foo', 5, 10, 'bar');
$a = array_fill_keys($keys, 'banana');
print_r($a);
?>

以上例程会输出:

Array
(
    [foo] => banana
    [5] => banana
    [10] => banana
    [bar] => banana
)

13.array_fill

用给定的值填充数组

说明: 用 value 参数的值填充 count 个元素到数组, 开始键名由 start_index 参数指定。

array_fill ( int $start_index , int $count , mixed $value ) : array

示例 #1 array_fill() 例子

<?php
$a = array_fill(5, 6, 'banana');
$b = array_fill(-2, 4, 'pear');
print_r($a);
print_r($b);
?>

以上例程会输出:

Array
(
    [5]  => banana
    [6]  => banana
    [7]  => banana
    [8]  => banana
    [9]  => banana
    [10] => banana
)
Array
(
    [-2] => pear
    [0] => pear
    [1] => pear
    [2] => pear
)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值