array_column 用于获取二维数组中的元素(PHP 5.5新增函数),但我们有时候需要在低版本的PHP环境中使用…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
if ( ! function_exists( 'array_column' )) { function array_column( $input , $columnKey , $indexKey = NULL) { $columnKeyIsNumber = ( is_numeric ( $columnKey )) ? TRUE : FALSE; $indexKeyIsNull = ( is_null ( $indexKey )) ? TRUE : FALSE; $indexKeyIsNumber = ( is_numeric ( $indexKey )) ? TRUE : FALSE; $result = array (); foreach (( array ) $input AS $key => $row ) { if ( $columnKeyIsNumber ) { $tmp = array_slice ( $row , $columnKey , 1); $tmp = ( is_array ( $tmp ) && ! empty ( $tmp )) ? current( $tmp ) : NULL; } else { $tmp = isset( $row [ $columnKey ]) ? $row [ $columnKey ] : NULL; } if ( ! $indexKeyIsNull ) { if ( $indexKeyIsNumber ) { $key = array_slice ( $row , $indexKey , 1); $key = ( is_array ( $key ) && ! empty ( $key )) ? current( $key ) : NULL; $key = is_null ( $key ) ? 0 : $key ; } else { $key = isset( $row [ $indexKey ]) ? $row [ $indexKey ] : 0; } } $result [ $key ] = $tmp ; } return $result ; } } |