php實(shí)現(xiàn)快速對(duì)二維數(shù)組某一列進(jìn)行組裝的方法小結(jié)
本文實(shí)例總結(jié)了php實(shí)現(xiàn)快速對(duì)二維數(shù)組某一列進(jìn)行組裝的方法。分享給大家供大家參考,具體如下:
問(wèn)題:
比如我二維數(shù)組是這樣的:
$user = array( '0'=> array('id'=>100,'username'=>'a1'), '1'=> array('id'=>101,'username'=>'a2'), '2'=> array('id'=>102,'username'=>'a3'), '3'=> array('id'=>103,'username'=>'a4'), '4'=> array('id'=>104,'username'=>'a5'), )
如何快速的獲取所有id組成的ids字符串,比如$ids='100,101,102,103,104'; 再者如果我有條件的組裝,比如id!=103等這樣的,除了循環(huán)處理外有沒(méi)有比較方便快速的方法?
解決方法:
$user = array( '0'=> array('id'=>100,'username'=>'a1'), '1'=> array('id'=>101,'username'=>'a2'), '2'=> array('id'=>102,'username'=>'a3'), '3'=> array('id'=>103,'username'=>'a4'), '4'=> array('id'=>104,'username'=>'a5'), ); /** * @param array $array 數(shù)組 * @param string $k 要獲取值的key * @param array $rm 要去除的數(shù)據(jù) * */ function array_get_v($array, $k, $rm) { if (!trim($k)) return false; preg_match_all("/\"$k\":(\d+)/", json_encode($array), $res); $res = array_diff($res[1],$rm); return implode(',',$res); } print_r(array_get_v($user, 'id',array(101)));
運(yùn)行結(jié)果:
100,102,103,104
補(bǔ)充方法:
例1:
$user = array( '0' => array('id' => 100, 'username' => 'a1'), '1' => array('id' => 101, 'username' => 'a2'), '2' => array('id' => 102, 'username' => 'a3'), '3' => array('id' => 103, 'username' => 'a4'), '4' => array('id' => 104, 'username' => 'a5'), ); array_walk($user, function($v, $k) use(&$ids){ $ids[$k] = $v['id']; }); echo implode(',', $ids);
運(yùn)行結(jié)果:
100,101,102,103,104
例2:
<?php function process($v){ //如果要加限制條件,在這里加入即可 if(isset($v['id'])) return $v['id']; } $user = array( '0' => array('id' => 100, 'username' => 'a1'), '1' => array('id' => 101, 'username' => 'a2'), '2' => array('id' => 102, 'username' => 'a3'), '3' => array('id' => 103, 'username' => 'a4'), '4' => array('id' => 104, 'username' => 'a5'), ); $aUser = array_map("process", $user); echo implode(',', $aUser);
運(yùn)行結(jié)果:
100,101,102,103,104
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)組(Array)操作技巧大全》、《php排序算法總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《php字符串(string)用法總結(jié)》及《PHP常用遍歷算法與技巧總結(jié)》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
php中instanceof 與 is_a()區(qū)別分析
總的來(lái)說(shuō)php中instanceof 與 is_a()功能是一樣的,不同的是由于PHP的版本不同,部分PHP版本舍棄了is_a() 下面我們來(lái)具體分析下吧。2015-03-03不錯(cuò)的一篇面向?qū)ο蟮腜HP開(kāi)發(fā)模式(簡(jiǎn)寫(xiě)版)
不錯(cuò)的一篇面向?qū)ο蟮腜HP開(kāi)發(fā)模式(簡(jiǎn)寫(xiě)版)...2007-03-03PHP解析目錄路徑的3個(gè)函數(shù)總結(jié)
這篇文章主要介紹了PHP解析目錄路徑的3個(gè)函數(shù)總結(jié),本文總結(jié)了basename、dirname、pathinfo3個(gè)函數(shù),它們分別處理路徑的不同部分,需要的朋友可以參考下2014-11-11PHP實(shí)現(xiàn)的注冊(cè),登錄及查詢用戶資料功能API接口示例
這篇文章主要介紹了PHP實(shí)現(xiàn)的注冊(cè),登錄及查詢用戶資料功能API接口,結(jié)合具體實(shí)例形式分析了php服務(wù)器端用戶注冊(cè)、登陸、查詢及curl登陸查詢功能實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-06-06