php array常用函数

1.array_reverse - 

php实现数组倒序的函数

array_reverse -- 返回一个单元顺序相反的数组
说明
array array_reverse ( array array [, bool preserve_keys] )


array_reverse() 接受数组 array 作为输入并返回一个单元为相反顺序的新数组,如果 preserve_keys 为 TRUE 则保留原来的键名。

例 1. array_reverse() 例子

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

这将使 $result 和 $result_keyed 具有相同的单元,但是注意键名的区别。$result 和 $result_keyed 的打印输出显示分别为:

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

    [1] => 4
    [2] => php
)
Array
(
    [2] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [0] => php
)


2.abs

abs() 函数返回一个数的绝对值。

<?php
echo(abs(6.7));
echo(abs(-3));
echo(abs(3));
?>

输出:

6.7
3
3

3.array_reverse

array_reverse -- 返回一个单元顺序相反的数组 
说明
array array_reverse ( array array [, bool preserve_keys] )


array_reverse() 接受数组 array 作为输入并返回一个单元为相反顺序的新数组,如果 preserve_keys 为 TRUE 则保留原来的键名。

例 1. array_reverse() 例子

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

这将使 $result 和 $result_keyed 具有相同的单元,但是注意键名的区别。$result 和 $result_keyed 的打印输出显示分别为:

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

    [1] => 4
    [2] => php
)
Array
(
    [2] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [0] => php
)


4.jQuery中的数组倒序(与3对应)

演示:

jquery 数组 倒序 var mem = [1, 2, 3]; 倒序后 var men1=[3,2,1];

<script type="text/javascript">
    $(function(){
     var mem = [1, 2, 3]; 
     var men1=mem.reverse();
    })
    </script>

5.array_filter()

array_filter() 依次将 array 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 array 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。

如果没有提供 callback 函数,array_filter() 将删除 array 中所有等值为 FALSE 的条目.这也就是过滤数组空白元素的精华所在.
如下例:
Php代码
  1. <?php   
  2. $entry = array(   
  3.               0 => 'k686绿色软件',   
  4.               1 => false,   
  5.               2 => 1,   
  6.               3 => null,   
  7.               4 => '',   
  8.               5 => 'http://www.k686.com',   
  9.               6 =>'0'  
  10.            );   
  11. print_r(array_filter($entry));   
  12. ?>   
<?php$entry = array( 0 => 'k686绿色软件', 1 => false, 2 => 1, 3 => null, 4 => '', 5 => 'http://www.k686.com', 6 =>'0' );print_r(array_filter($entry));?>


上面代码输出结果为:
Array
(
    [0] => k686绿色软件
    [2] => 1
    [5] => http://www.k686.com
)

可以看出,false,null,和真正的''空白以及0都被过滤了,而且数组的下标没有改变. 

这样就引申出来一个新问题,如果我想对array_filter()处理过的新数组的键名序列化成0,1,2,3这样的怎么办呢?这在数组比较中是很有用的,那么需要用到 php的sort()函数.-》6

6. bool sort ( array &array [, int sort_flags] ) 

本函数对数组进行排序。当本函数结束时数组单元将被从最低到最高重新安排。

注意: 本函数为 array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。

如果成功则返回 TRUE,失败则返回 FALSE。


也可以使用array_values将数组中所有的值并给其建立数字索引的。

array array_values ( array input )

array_values() 返回 input 数组中所有的值并给其建立数字索引。

例子 1. array_values() 例子

<?php
$array = array ("size" => "XL", "color" => "gold");
print_r(array_values ($array));
?>

上例将输出:

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

Php代码
  1. <?php   
  2. $my_array = array("0" => "k686绿色软件", "2" => "1", "5" => "http://www.k686.com");   
  3. sort($my_array);   
  4. print_r($my_array);   
  5. ?>  
<?php$my_array = array("0" => "k686绿色软件", "2" => "1", "5" => "http://www.k686.com");sort($my_array);print_r($my_array);?>

输出结果为:
Php代码
  1. Array   
  2. (   
  3.      [0] => 1   
  4.      [1] => http://www.k686.com   
  5.      [2] => k686绿色软件   
  6. )  
Array( [0] => 1 [1] => http://www.k686.com [2] => k686绿色软件)

有序化以后就可以进行大小比较了,这在纯数字且需要比较大小的数字中是十分有效的. 

7.array_search(value,array,strict)

array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。

在 PHP 4.2.0 之前,函数在失败时返回 null 而不是 false。

如果第三个参数 strict 被指定为 true,则只有在数据类型和值都一致时才返回相应元素的键名。

<?php
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
echo array_search("Dog",$a);
?>

输出:

a



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值