PHP獲取二維數組指定鍵名下包含值的所有數組


對於一個二維數組,如何獲取指定鍵名的值等於某些指定的值,如

$a = [
    [
        'id' => 2,
        'name' => 'zhangsang'
    ],
    [
        'id' => 5,
        'name' => 'lishi'
    ],
    [
        'id' => 6,
        'name' => 'wangwu'
    ],
    [
        'id' => 28,
        'name' => 'zhaoer'
    ],
];

$st = '2,28';

//最后輸出數組$a中第一個和最后一個
d(inArrayKey($a, $st, 'id'));

/**
 * 返回二維數組中指定鍵名下字段包含的所有數組
 * @param [type] $array 指定二維數組
 * @param [type] $inarray 要包含的鍵名值 array/string
 * @param [type] $field 指定字段
 * @return void
 */
function inArrayKey($array, $inarray, $field){
    if(!is_array($inarray)){
        $inarray = explode(',', $inarray);
    }
    $arr = [];
    foreach($array as $key=>$value){
        if(in_array($value[$field], $inarray)){
            $arr[] = $value;
        }
    }
    return $arr;
}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM