[Day 29] PHP array_map

假设目前有阵列

$fruits = [
    ['id'=>0,'fruit'=>'apple','sweetness'=>2,'price'=>20],
    ['id'=>1,'fruit'=>'banana','sweetness'=>4,'price'=>15],
    ['id'=>2,'fruit'=>'grape','sweetness'=>5,'price'=>80],
    ['id'=>3,'fruit'=>'orange','sweetness'=>1,'price'=>70],
];

array_map

用来更新阵列中的值,产生出新的阵列。

$nfruits = array_map(function($fruit){
    $fruit['price'] = $fruit['price'] *2;
    return $fruit;
},$fruits);
print_r($nfruits);

就能取得一个price翻倍的新阵列
https://ithelp.ithome.com.tw/upload/images/20211014/20142046tG38TCoUZh.png
另外,也能将function函式提到array_map外,也能得到相同的结果

function doublePrice($fruit)
{
    $fruit['price'] = $fruit['price'] *2;
    return $fruit;
}
$nfruits = array_map("doublePrice",$fruits);
print_r($nfruits);

也能利用array_map做到阵列之间的比较
array_map("function",阵列一,阵列二,...);

function doublePrice($fruit,$a)
{
    if($fruit['fruit'] == $a)
        return "same";
    return "different";
}
$array = array("apple","lemon","pineaple","orange");
$nfruits = array_map("doublePrice",$fruits,$array);
print_r($nfruits);

https://ithelp.ithome.com.tw/upload/images/20211014/20142046DqzJ7K39mW.png


<<:  [ Day 29 ] - this

>>:  #29 No-code 之旅 — 部署至 Vercel

day14 : 前半段小结

参赛将近半个月,终於完成了我认为贴近infra的部分,这也是为什麽要做个小结的原因,大部分企业在使用...

Day 29 没有研究出来的 Compose UI ViewPager

今年的疫情蛮严重的,希望大家都过得安好,希望疫情快点过去,能回到一些线下技术聚会的时光~ 今天目标:...

使用Raspberry pi的相机拍图

前面只用linux 的指令来拍图 现在用Python了 from time import sleep...

【把玩Azure DevOps】Day28 设定Pipeline的识别文字格式

不知道各位在前面建立Pipeline执行之後,有没有发现Pipeline执行结果列表的识别文字是像下...

Day2-不只都是英文名称 docker 和 k8s的关系

在前一章提到k8s是一种容器编排平台,用於管理容器化的应用程序。 而既然提到容器,那自然得提一下容器...