PHP 常用到的 Array 函數(shù)

PHP 常用到的 Array 函數(shù)

array_column 返回輸入數(shù)組中某個單一列的值

$arr = array(
    array(
        'id' => 111,
        'first_name' => 'zhang',
        'last_name' => 'san'
    ),
    array(
        'id' => 112,
        'first_name' => 'li',
        'last_name' => 'si'
    ),
    array(
        'id' => 113,
        'first_name' => 'wang',
        'last_name' => 'wu'
    )
);

$last_names = array_column($arr, 'last_name', 'id');
print_r($last_names);

輸出:

Array
(
    [111] => san
    [112] => si
    [113] => wu
)

array_filter 用回調(diào)函數(shù)過濾數(shù)組中的元素

function test_odd($var){
    return(gettype($var) === 'integer');
}

$arr = array('a','b',2,3,4);

print_r(array_filter($arr,"test_odd"));

輸出:

Array
(
    [2] => 2
    [3] => 3
    [4] => 4
)

array_map 將用戶自定義函數(shù)作用到給定數(shù)組的每個值上

此函數(shù)與array_walk_recursive類似,需要寫遞歸

function myFun($val){
    if(is_array($val)){
        return array_map('myFun',$val);
    }
    return($val*$val);
}

$arr = array(1,2,3,4,5,6 => [2,3]);
print_r(array_map('myFun',$arr));

輸出:

Array
(
    [0] => 1
    [1] => 4
    [2] => 9
    [3] => 16
    [4] => 25
    [6] => Array
        (
            [0] => 4
            [1] => 9
        )

)

------------------------------

function myFun($val1,$val2){
    $result = 'different';
    if($val1 === $val2){
        $result = 'same';
    }
    return $result;
}

$arr1 = array('Mixj','Binz','Tiec');
$arr2 = array('Mixj','BinZ','Tiec');

print_r(array_map('myFun',$arr1,$arr2));

輸出:

Array
(
    [0] => same
    [1] => different
    [2] => same
)

array_walk_recursive 對數(shù)組中的每個成員遞歸地應(yīng)用用戶函數(shù)

此函數(shù)與 array_map 類似,省去了寫遞歸

function myfunction($value,$key)
{
echo "The key $key has the value $value<br>";
}
$a1=array("a"=>"red","b"=>"green");
$a2=array($a1,"1"=>"blue","2"=>"yellow");
array_walk_recursive($a2,"myfunction");

輸出:

The key a has the value red
The key b has the value green
The key 1 has the value blue
The key 2 has the value yellow

extract / compact

extract 從數(shù)組中將變量導(dǎo)入到當(dāng)前的符號表
compact 創(chuàng)建一個包含變量名和它們的值的數(shù)組

$arr = array(
    "a" => "Cat",
    "b" => "Dog",
    "c" => "Horse"
);
extract($arr);
echo "\$a = $a; \$b = $b; \$c = $c";

輸出:

$a = Cat; $b = Dog; $c = Horse

$firstName = "Mi";
$lastName = "xj";
$age = 24;
$result = compact("firstName","lastName","age");
print_r($result);

輸出:

Array
(
    [firstName] => Mi
    [lastName] => xj
    [age] => 24
)

uasort 使用自定義的比較函數(shù)對鍵值進行排序 (可以對二維數(shù)組排序)

$arr = [
    [
        'id' => 3,
        'age' => 33
    ],
    [
        'id' => 2,
        'age' => 44
    ],
    [
        'id' => 1,
        'age' =22
    ]
];

uasort($arr,function($a, $b){
    $field = 'age';
    if($a[$field] == $b[$field]){
        return 0;
    }
    return $a[$field] < $b[$field] ? -1 : 1;
});

print_r($arr);

輸出:

Array
(
    [2] => Array
        (
            [id] => 1
            [age] => 22
        )

    [0] => Array
        (
            [id] => 3
            [age] => 33
        )

    [1] => Array
        (
            [id] => 2
            [age] => 44
        )
)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子伴网,更是在濱河造成了極大的恐慌苍鲜,老刑警劉巖柜裸,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件错森,死亡現(xiàn)場離奇詭異峻仇,居然都是意外死亡俄讹,警方通過查閱死者的電腦和手機哆致,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來患膛,“玉大人摊阀,你說我怎么就攤上這事∽俚牛” “怎么了胞此?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵唆姐,是天一觀的道長杂抽。 經(jīng)常有香客問我,道長步做,這世上最難降的妖魔是什么疚漆? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任布疙,我火速辦了婚禮蚊惯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘灵临。我一直安慰自己截型,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布儒溉。 她就那樣靜靜地躺著宦焦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪顿涣。 梳的紋絲不亂的頭發(fā)上波闹,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天,我揣著相機與錄音涛碑,去河邊找鬼精堕。 笑死,一個胖子當(dāng)著我的面吹牛蒲障,可吹牛的內(nèi)容都是我干的歹篓。 我是一名探鬼主播,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼揉阎,長吁一口氣:“原來是場噩夢啊……” “哼庄撮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起毙籽,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤洞斯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后坑赡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體烙如,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年毅否,在試婚紗的時候發(fā)現(xiàn)自己被綠了亚铁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡搀突,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出熊泵,到底是詐尸還是另有隱情仰迁,我是刑警寧澤,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布顽分,位于F島的核電站徐许,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏卒蘸。R本人自食惡果不足惜雌隅,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一翻默、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧恰起,春花似錦修械、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至吨枉,卻和暖如春蹦渣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背貌亭。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工柬唯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人圃庭。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓锄奢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親冤议。 傳聞我的和親對象是個殘疾皇子斟薇,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,876評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 總結(jié)了一些開發(fā)中常用的函數(shù): usleep() //函數(shù)延遲代碼執(zhí)行若干微秒。 unpack() //函數(shù)從二進制...
    ADL2022閱讀 458評論 0 3
  • PHP常用函數(shù)大全 usleep() 函數(shù)延遲代碼執(zhí)行若干微秒恕酸。 unpack() 函數(shù)從二進制字符串對數(shù)據(jù)進行解...
    上街買菜丶迷倒老太閱讀 1,373評論 0 20
  • php usleep() 函數(shù)延遲代碼執(zhí)行若干微秒堪滨。 unpack() 函數(shù)從二進制字符串對數(shù)據(jù)進行解包。 uni...
    思夢PHP閱讀 1,987評論 1 24
  • # 數(shù)組部分 # 1.## array_chunk($arr, $size [, $preserve_key = ...
    clothTiger閱讀 1,177評論 0 1
  • 我想蕊温,這一次分手就是最后一次分手了吧袱箱,因為以后再也不會復(fù)合了。也許义矛,真正的分手就是我已經(jīng)記不起我們是何年何...
    你與喵閱讀 222評論 0 1