[PHP]array
--------------------------------------------------------------------------------------------------------- /* |----------------------------------------------------------|array_map();将回调函数作用到给定数组的单元上|array_column();快速实现:
---------------------------------------------------------------------------------------------------------
<span>/*</span><span> |---------------------------------------------------------- |array_map();将回调函数作用到给定数组的单元上 |array_column();快速实现:将二维数组转为一维数组 |---------------------------------------------------------- </span><span>*/<br></span>
array array_column ( array $input
, mixed $column_key
[, mixed $index_key
] );
返回input
数组中值为column_key
的列; 如果指定了可选参数index_key
,返回的数组中 对应键 为input数组值index_key对应的值。
<span>例一:<br>$records</span> = <span>array</span><span>( </span><span>array</span><span>( </span>'id' => 2135, 'first_name' => 'John', 'last_name' => 'Doe',<span> )</span>, <span>array</span><span>( </span>'id' => 3245, 'first_name' => 'Sally', 'last_name' => 'Smith',<span> )</span>, <span>array</span><span>( </span>'id' => 5342, 'first_name' => 'Jane', 'last_name' => 'Jones',<span> )</span>, <span>array</span><span>( </span>'id' => 5623, 'first_name' => 'Peter', 'last_name' => 'Doe',<span> ) ); </span><span>$first_names</span> = array_column(<span>$records</span>, 'first_name'<span>); </span><span>print_r</span>(<span>$first_names</span>);<br>/*<br>输出:
Array ( [0] => John [1] => Sally [2] => Jane [3] => Peter )
*/
<span>例二:<br>$last_names</span> = array_column(<span>$records</span>, 'last_name', 'id'<span>); </span><span>print_r</span>(<span>$last_names</span>);<br>/*<br>输出:
Array ( [2135] => Doe [3245] => Smith [5342] => Jones [5623] => Doe )
*/
<span>当没有array_column()函数情况下, </span><span>//</span><span>使用array_map()实现例一:</span> <span>$a</span> = <span>array_map</span>(<span>function</span>(<span>$element</span>){ <span>//</span><span>$records作为参数传入回调函数</span> <span>return</span> <span>$element</span>['last_name']; <span>//</span><span>返回数组元素值的last_name对应值</span><span> }</span>, <span>$records</span>); <span>//</span><span>array_map返回数组,相当于把每个$element['last_name']存入新数组,所以是新建的索引</span>
<span>//</span><span>使用foreach实现例一:</span> <span>foreach</span>(<span>$records</span> <span>as</span> <span>$v</span><span>) { </span><span>$b</span>[] = <span>$v</span>['last_name'<span>]; }</span>
<span>//</span><span>使用foreach实现例二:</span> <span>$c</span> = <span>array</span><span>(); </span><span>foreach</span>(<span>$records</span> <span>as</span> <span>$k</span>=><span>$v</span><span>) { </span><span>$c</span> += <span>array</span>(<span>$v</span>['id']=><span>$v</span>['last_name']); <span>//</span><span>使用+运算符, 以追加的形式(不改变原数组索引), 合并组装的数组</span><span> } </span><span>//</span><span>若使用array_merge,数字键名将被重新编号</span>
在取出的多条数据中,典型的二维数组,如果需要使用数据中单一的 值与值 对应的情况,array_column()即可完成,但是面对较复杂的数组结构,foreach才能让你更灵活,不过优先使用系统函数总是首选的。
Link: http://www.cnblogs.com/farwish/p/3855831.html
@黑眼诗人

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

CakePHP 是 PHP 的開源框架。它旨在使應用程式的開發、部署和維護變得更加容易。 CakePHP 基於類似 MVC 的架構,功能強大且易於掌握。模型、視圖和控制器 gu

登入 CakePHP 是一項非常簡單的任務。您只需使用一項功能即可。您可以記錄任何後台程序(如 cronjob)的錯誤、異常、使用者活動、使用者採取的操作。在 CakePHP 中記錄資料很容易。提供了 log() 函數

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫
