成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? PHP數(shù)組函數(shù)array_map()的用法
全站頭部文字 我要出現(xiàn)在這里
PHP數(shù)組函數(shù)array_map()的用法 738 2024-01-03   

array_map

(PHP 4 >= 4.0.6, PHP 5)

array_map — 將回調函數(shù)作用到給定數(shù)組的單元上

說明

array array_map ( callable $callback , array $arr1 [, array $... ] )

array_map() 返回一個數(shù)組,該數(shù)組包含了 arr1 中的所有單元經(jīng)過 callback 作用過之后的單元。callback 接受的參數(shù)數(shù)目應該和傳遞給 array_map() 函數(shù)的數(shù)組數(shù)目一致。

參數(shù)

callback

對每個數(shù)組的每個元素作用的回調函數(shù)。

arr1

將被回調函數(shù)(callback)執(zhí)行的數(shù)組。

array

將被回調函數(shù)(callback)執(zhí)行的數(shù)組列表。

返回值

返回一個數(shù)組,該數(shù)組的每個元素都數(shù)組(arr1)里面的每個元素經(jīng)過回調函數(shù)(callback)處理了的。

范例

Example #1 array_map() 例子

<?php
function cube($n)
{
    return($n * $n * $n);
}

$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
?>

這使得 $b 成為:

Array
(
    [0] => 1
    [1] => 8
    [2] => 27
    [3] => 64
    [4] => 125
)

Example #2 array_map() using a lambda function (as of PHP 5.3.0)

<?php
$func = function($value) {
    return $value * 2;
};

print_r(array_map($func, range(1, 5)));
?>
Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 10
)

Example #3 array_map() - 使用更多的數(shù)組

<?php
function show_Spanish($n, $m)
{
    return("The number $n is called $m in Spanish");
}

function map_Spanish($n, $m)
{
    return(array($n => $m));
}

$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");

$c = array_map("show_Spanish", $a, $b);
print_r($c);

$d = array_map("map_Spanish", $a , $b);
print_r($d);
?>

以上例程會輸出:

// printout of $c
Array
(
    [0] => The number 1 is called uno in Spanish
    [1] => The number 2 is called dos in Spanish
    [2] => The number 3 is called tres in Spanish
    [3] => The number 4 is called cuatro in Spanish
    [4] => The number 5 is called cinco in Spanish
)
// printout of $d
Array
(
    [0] => Array
        (
            [1] => uno
        )
    [1] => Array
        (
            [2] => dos
        )
    [2] => Array
        (
            [3] => tres
        )
    [3] => Array
        (
            [4] => cuatro
        )
    [4] => Array
        (
            [5] => cinco
        )
)

通常使用了兩個或更多數(shù)組時,它們的長度應該相同,因為回調函數(shù)是平行作用于相應的單元上的。如果數(shù)組的長度不同,則最短的一個將被用空的單元擴充。

本函數(shù)一個有趣的用法是構造一個數(shù)組的數(shù)組,這可以很容易的通過用 NULL 作為回調函數(shù)名來實現(xiàn)。

Example #4 建立一個數(shù)組的數(shù)組

<?php
$a = array(1, 2, 3, 4, 5);
$b = array("one", "two", "three", "four", "five");
$c = array("uno", "dos", "tres", "cuatro", "cinco");

$d = array_map(null, $a, $b, $c);
print_r($d);
?>

以上例程會輸出:

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => one
            [2] => uno
        )
    [1] => Array
        (
            [0] => 2
            [1] => two
            [2] => dos
        )
    [2] => Array
        (
            [0] => 3
            [1] => three
            [2] => tres
        )
    [3] => Array
        (
            [0] => 4
            [1] => four
            [2] => cuatro
        )
    [4] => Array
        (
            [0] => 5
            [1] => five
            [2] => cinco
        )
)

如果數(shù)組參數(shù)里面有字符串的鍵,那么返回的數(shù)組就會包含字符串的鍵,僅且僅當只傳入一個數(shù)組的時候(試了下,就是原數(shù)組返回,沒變化啊,這不是蛋疼么?)。 如果不止一個數(shù)組被傳入,那么返回的數(shù)組的的鍵都是整型。

Example #5 array_map() - with string keys

<?php
$arr = array("stringkey" => "value");
function cb1($a) {
    return array ($a);
}
function cb2($a, $b) {
    return array ($a, $b);
}
var_dump(array_map("cb1", $arr));
var_dump(array_map("cb2", $arr, $arr));
var_dump(array_map(null,  $arr));
var_dump(array_map(null, $arr, $arr));
?>

以上例程會輸出:

array(1) {
  ["stringkey"]=>
  array(1) {
    [0]=>
    string(5) "value"
  }
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(5) "value"
    [1]=>
    string(5) "value"
  }
}
array(1) {
  ["stringkey"]=>
  string(5) "value"
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(5) "value"
    [1]=>
    string(5) "value"
  }
}

參見

array_filter() - 用回調函數(shù)過濾數(shù)組中的單元 array_reduce() - 用回調函數(shù)迭代地將數(shù)組簡化為單一的值 array_walk() - 使用用戶自定義函數(shù)對數(shù)組中的每個元素做回調處理 create_function() - Create an anonymous (lambda-style) function callback 類型的信息



主站蜘蛛池模板: 周末父母42集剧情介绍| 那些年,那些事 电视剧| 郭碧婷个人简历资料| 村暖花开| 加入青协的个人简历模板| 情欲狂欢h版| 什么水果是热性的| james deen| 大珍珠演员表介绍| 口述公交车上| 陈建斌梅婷新剧《不惑之旅》| 吃什么皮肤白的最快| 阮经天新电影| 香帅传奇郑少秋版国语全集在线观看高清 | mc水观音| 欧美日韩欧美日韩在线观看视频| 电影继父| 彻夜狂欢| 秦时明月动画片| 老江湖| 12123交强险查询入口| 狂野时代电影免费观看国语| 精灵使的剑舞无删减版在线观看| 风俗通| 住院吸氧是一天24小时算钱吗| 免费成人结看片| fate动漫| 男女男在线观看| 何丽萍| 那些女人演员表名单| 1号玩家| 什么虫子咬了又红又肿又痒硬包| 我家来了个怪男人| 乙亥北行日记| kaori主演电影在线观看| 小绵羊男星是谁| 大奉打更人电视剧在线播放视频| 西安甑糕怎么读| 裸体摸特| 漂亮孕妇突然肚子疼视频| 伦理电影在线看|

!!!站長長期在線接!!!

網(wǎng)站、小程序:定制開發(fā)/二次開發(fā)/仿制開發(fā)等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103