對於一個二維數組,如何獲取指定鍵名的值等於某些指定的值,如
$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; }
