《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)
相關文章
相關標籤/搜索