1 <?php 2 // 向php陣列函式array_colum()傳入奇怪的陣列 3 // array_colum()函式 回傳行列陣列的其中一列,可以用其他列的鍵充當鍵 4 $arr = [ 5 [ 1, 2, 3, 4, 5 ], 6 [ 1, 2, 3, 4, 5 ], 7 [ 1, 2, 3, 4, 5 ] 8 ]; 9 print_r( array_column( $arr, 1, 2 ) ); 10 // Array 11 // ( 12 // [3] => 2 13 // ) 14 // 本例,用第三列作回傳第二列的鍵,第三列的值都是4,array_colum()回傳的陣列鍵名重復, 15 // 于是值被覆寫,最后只剩下一個元素 16 print_r( array_column( $arr, 1 ) ); 17 // Array 18 // ( 19 // [0] => 2 20 // [1] => 2 21 // [2] => 2 22 // ) 23 // array_colum( $arr, 1 ) 這樣使用就可以獲得第二列的值, 24 25 $arr = [ 26 [1, 2, 3, 4], 27 [5, 6, 7], 28 [8, 9, 10, 11] 29 ]; 30 print_r( array_column( $arr, 1, 3 ) ); 31 // Array 32 // ( 33 // [4] => 2 34 // [5] => 6 35 // [11] => 9 36 // ) 37 // 本例中,目標陣列的第四列缺少一項,于是回傳的陣列第二個元素的鍵被系統php自動設定成了5 38 $arr = [ 39 [1, 2, 3, 4], 40 [5, 6, 7], 41 [8, 9, 10, 11] 42 ]; 43 print_r( array_column( $arr, 3, 1 ) ); 44 // Array 45 // ( 46 // [2] => 4 47 // [9] => 11 48 // ) 49 // 在本例中,目標陣列的第四列少一個值,回傳的陣列并不含這一項, 50 $arr = [ 51 ['a', 'b', 'c', 'd'], 52 ['e', 'f', 'g' ], 53 ['i', 'j', 'k', 'l'] 54 ]; 55 print_r( array_column( $arr, 1, 3 ) ); 56 // Array 57 // ( 58 // [d] => b 59 // [0] => f 60 // [l] => j 61 // ) 62 // 當第四列其中一個沒有值時,系統會自動補上索引鍵名 63 $arr = [ 64 ['a', 'b', 'c', 'd'], 65 ['e', 'f', 'g' ], 66 ['i', 'j', 'k', 'l'] 67 ]; 68 print_r( array_column( $arr, 3, 1 ) ); 69 // 和上面一樣,當某一列沒有值,而又被指定為回傳陣列的值,這時,回傳陣列不含這個值 70 $arr = [ 71 ['a' => 'a', 'b' => 'b', 'c' => 'c'], 72 ['d' => 'd', 'e' => 'e', 'f' => 'f'], 73 ['g' => 'g', 'h' => 'h', 'i' => 'i'] 74 ]; 75 print_r( array_column( $arr, 'b', 'c' ) ); 76 // Array 77 // ( 78 // [c] => b 79 // ) 80 // 因為指定的這兩列都只有一個滿足條件,于是回傳陣列只有一個元素
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/122679.html
標籤:PHP
