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