国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

array_map/array_filter/array_walk遍歷數(shù)組的方式和foreach一樣,誰要快一些???
高洛峰
高洛峰 2016-10-21 13:53:06
0
0
1344

array_walk相當(dāng)于foreach:

$arr = ['Client'=>'jQuery','Server'=>'PHP'];
array_walk($arr, function($v, $k) {    echo "鍵:$k 值:$v\n";
});

比如去除數(shù)組$arr元素的前后空白:

array_walk($arr, function(&$v) { $v = trim($v); });foreach($arr as &$v) { $v = trim($v); }
array_filter: 用回調(diào)函數(shù)過濾數(shù)組中的單元,返回過濾后的數(shù)組

var_export(
    array_filter([1, 2, 3], function($v) {        return $v > 1;
    })
);
和foreach([1, 2, 3] as $k => $v) {    if($v > 1) {        $tmp[$k] = $v;
    }
}
var_export($tmp);
都輸出:array (  1 => 2,  2 => 3,
)

PHP數(shù)組映射化簡(MapReduce):

array_map/array_reduce
array_map: 將回調(diào)函數(shù)作用到給定數(shù)組的單元上
var_export(
    array_map(function ($v) {
        return $v * $v;
    }, [1, 2, 3])
);
和
foreach([1, 2, 3] as $v) {
    $tmp[] = $v * $v;
}
var_export($tmp);
都輸出:
array (
  0 => 1,
  1 => 4,
  2 => 9,
)

array_reduce: 用回調(diào)函數(shù)迭代地將數(shù)組簡化(reduce)為單一的值//輸出16,即10+1+2+3,其中10作為初始值.

echo array_reduce([1, 2, 3], function($result, $item) {
    $result = $result + $item;
    return $result;
}, 10);
用foreach表達:
$result = 10;
foreach([1, 2, 3] as $v) {
    $result = $result + $v;
}
echo $result;

執(zhí)行效果都一樣,但是具體的用函數(shù)快還是用foreach快些啊

高洛峰
高洛峰

擁有18年軟件開發(fā)和IT教學(xué)經(jīng)驗。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項目經(jīng)理、高級軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...

reply all(0)
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template