欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php array pluck

傅智翔1年前7瀏覽0評論
今天我們來介紹一下 Php 中的一個非常有用的函數—— array_pluck。array_pluck 用于提取多維數組中某個屬性的值,返回值是單個維度的數組,非常方便實用。下面我們就通過多個實例來詳細介紹它的使用方法。 在使用 array_pluck 之前,先來了解一下多維數組是如何組成的。比如說,以下代碼就是一個包含了多個學生信息的多維數組:
$students = [
['name' =>'Tom', 'age' =>18, 'class' =>'A'],
['name' =>'Jack', 'age' =>20, 'class' =>'B'],
['name' =>'Lucy', 'age' =>19, 'class' =>'C']    
];
如果我們想要提取出這個數組中所有學生的名字,可以使用 array_pluck 這個函數,實現的方式非常簡單:
$names = array_pluck($students, 'name');
print_r($names);
執行后,便能得到以下輸出:
Array
(
[0] =>Tom
[1] =>Jack
[2] =>Lucy
)
這里解釋一下,array_pluck 里第一個參數是要提取的多維數組,第二個參數表示要提取的屬性名,這里就是 name。得到的結果是一個一維數組,包含了所有學生的名字。 除了上面的例子,array_pluck 還可以用于獲取對象的屬性值。比如說,以下代碼就是一個包含多個人員信息的對象數組:
$persons = [
new Person('Tom', 18, 'Male'),
new Person('Lily', 20, 'Female'),
new Person('May', 19, 'Female')
];
如果我們要提取出所有人員的性別,可以這樣寫:
$genders = array_pluck($persons, 'gender');
print_r($genders);
得到的輸出如下:
Array
(
[0] =>Male
[1] =>Female
[2] =>Female
)
這里的 Person 代碼可見下方:
class Person {
public $name, $age, $gender;
public function __construct($name, $age, $gender) {
$this->name = $name;
$this->age = $age;
$this->gender = $gender;
}
}
更進一步,當我們的數組元素不是標準的多維數組或對象數組時,array_pluck 也依然有效。比如說,以下代碼是一個包含商品名稱和價格的普通數組:
$products = [
'iPhone' =>6999,
'iPad' =>3999,
'Macbook' =>9999
];
如果我們要提取出所有商品的價格,同樣可以使用 array_pluck 這個函數,代碼如下:
$prices = array_pluck($products, 0);
print_r($prices);
得到的輸出如下:
Array
(
[0] =>6999
[1] =>3999
[2] =>9999
)
這里的 0 表示取數組中的第一個元素。 當然,還有更多精細的手段來利用 array_pluck 操作數據,比如說,也可以同時從一個元素中提取多個屬性。比如說,以下代碼表示一個描述菜品的數組: ``` $dishes = [ ['name' =>'魚香肉絲', 'price' =>20, 'sales' =>200], ['name' =>'宮保雞丁', 'price' =>25, 'sales' =>180], ['name' =>'紅燒獅子頭', 'price' =>30, 'sales' =>160] ]; ``` 若要提取出所有菜品的名稱和價格,可以這樣寫: ``` $infos = array_pluck($dishes, ['name', 'price']); print_r($infos); ``` 輸出如下: ``` Array ( [0] =>Array ( [name] =>魚香肉絲 [price] =>20 ) [1] =>Array ( [name] =>宮保雞丁 [price] =>25 ) [2] =>Array ( [name] =>紅燒獅子頭 [price] =>30 ) ) ``` 以上就是 array_pluck 的常用用法,大家可以在實踐中進一步了解。對于需要從數組中提取某些屬性的情況,array_pluck 是一個比較高效、便捷的方式。