《PHP经典实例》笔记数组篇

4.12 查找一个值在数组中的位置

使用 array_search() 方法在数组中查找一个值,若是找到了该值,返回相应的键;不然返回 falsephp

<?php
    $arr = ['Hello', 'World', 'p' => 'PHP', 'Node.js'];
    $position = array_search('PHP', $arr);
    if($position !== false) {
        echo $position; 
    }

输出 p。注意:最好使用 array_search() 而不是 in_array() 来检查一个数组是否包含某个值,两者速度差异很小,可是 array_search() 能够提供额外信息(相应的键)。数组


4.13 查找知足某个条件的元素

使用 array_filter()方法处理数组,例如查找票房大于两千五百万的电影信息:函数

<?php

    $movies = [
        ['file'=>'Zootopia', 'box_office_gross'=>73700000], 
        ['file'=>'London Has Fallen', 'box_office_gross'=>21710000], 
        ['file'=>'Deadpool', 'box_office_gross'=>311160000], 
        ['file'=>'Whiskey Tango Foxtrot', 'box_office_gross'=>7600000]
    ];
    
    $flops = array_filter($movies, function($movie) { //使用匿名的回掉函数过滤数组中的单元
        return ($movie['box_office_gross'] > 25000000) ? 1 : 0; //须要保留的值返回1,删除的值返回0
    });
    
    print_r($flops);

输出:.net

Array
(
    [0] => Array
        (
            [file] => Zootopia
            [box_office_gross] => 73700000
        )

    [2] => Array
        (
            [file] => Deadpool
            [box_office_gross] => 311160000
        )

)

4.14 查找数组中最大值或最小值元素

<?php
    echo '<pre>';
    $arr = [10, 3, 25, -9, 100, 50];
    
    /*例1 使用max()找出数组中最大值的元素*/
    echo max($arr),PHP_EOL; // 输出 100
    
    /*例2 使用min()找出数组中最小值的元素*/
    echo min($arr),PHP_EOL; //输出-9
    
   /*例3 使用array_keys()找出数组中最大值元素的索引*/
    print_r(array_keys($arr, max($arr), true));
    //输出 Array([0] => 4)
相关文章
相关标签/搜索