国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

array_map 等php回調(diào)函數(shù)使用問題(關(guān)聯(lián)數(shù)組下標(biāo)獲取)

shiweifu / 784人閱讀

摘要:前言我自己用此類回調(diào)函數(shù),來替代純粹是用為代碼的簡潔性,讓代碼更好看。我有點(diǎn)代碼小潔癖當(dāng)?shù)幚硪粋€一維索引數(shù)組時(shí),在回調(diào)函數(shù)內(nèi)是無法獲取到當(dāng)時(shí)元素索引的。目的在回調(diào)體內(nèi)獲取迭代關(guān)聯(lián)數(shù)組的下標(biāo)值。

前言:我自己用此類回調(diào)函數(shù),來替代 foreach 純粹是用為代碼的簡潔性,讓代碼更好看。(我有點(diǎn)代碼小潔癖~)

1、array_reduce

當(dāng)?shù)幚硪粋€一維索引數(shù)組時(shí),在回調(diào)函數(shù)內(nèi)是無法獲取到當(dāng)時(shí)元素索引的。所以想要獲取時(shí),需得借助一個外部變量。

目的:把 $arr 遍歷到 標(biāo)簽內(nèi)(就是拼接option字符串)

$arr = [
    0 => "全部",
    1 => "a",
    2 => "b",
    3 => "c",
];

解決:

$index   = 0;

$options = array_reduce($data, function($carry, $item) use (&$index){
              ## $index則為當(dāng)前兩個元素 $item 的索引
              return $carry . "";
            }, "");
            
var_dump($options);

輸出為

2、array_map(callable $callback , array $array1 [, array $... ] )

很多情況下,迭代的數(shù)據(jù)一般為一個 二維關(guān)聯(lián)數(shù)組,但 array_map 本身在回調(diào)函數(shù)的函數(shù)體內(nèi)無法獲取到 關(guān)聯(lián)數(shù)組的下標(biāo) 的。

目的:在回調(diào)體內(nèi)獲取迭代關(guān)聯(lián)數(shù)組的下標(biāo)值。

解決:可以把關(guān)聯(lián)數(shù)組的下標(biāo)通過 array_map()的第三個形參把下標(biāo)傳進(jìn)去。

$arr = [
    "a" => 1,
    "b" => 2,
    "c" => 3
];

$res =  array_map(function($item, $key){

             echo "$arr[" . $key . "]=" . $item . "
"; }, $arr, array_keys($arr));

輸出結(jié)果為

$arr[a]=1
$arr[b]=2
$arr[c]=3

題外話,有個典型的應(yīng)用,也可以這樣用。打個比方,如入庫商品。

辣條 [spec] => Array ( ["attr"] => Array ( [0] => 顏色 [1] => 口感 [2] => 副作用 ) ["value"] => Array ( [0] => 紅色 [1] => 辣 [2] => The `菊花` is hot ) ) ) */ ## 處理規(guī)格信息,使其可以批量添加 $arr["spec"] = array_map(function($item, $key){ return [ "attr" => $key, "value" => $item, ]; }, $arr["spec"]["value"], $arr["spec"]["attr"]); print_r($arr); /* Array ( [goods] => 辣條 [spec] => Array ( [0] => Array ( [attr] => 顏色 [value] => 紅色 ) [1] => Array ( [attr] => 口感 [value] => 辣 ) [2] => Array ( [attr] => 副作用 [value] => The `菊花` is hot ) ) ) */ # 這樣處理好數(shù)組就特別方便,數(shù)組中 `商品的規(guī)格` 的就可以批量添加了
參考資料:

laravel框架代碼 - 集合 的封裝 -> 傳送門

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/29262.html

相關(guān)文章

  • PHP_數(shù)組

    摘要:李尋歡索引數(shù)組索引數(shù)組,元素的值和下標(biāo)不存在邏輯關(guān)系,而下標(biāo)只表示值索引位置。鍵和值,同時(shí)向下移動指針獲得元素信息,返回的是,關(guān)聯(lián)和索引數(shù)組其中關(guān)聯(lián)數(shù)組部分。 數(shù)組 數(shù)據(jù)由元素組成,元素由鍵和值組成 數(shù)組分類 關(guān)聯(lián)數(shù)組關(guān)聯(lián)數(shù)組,元素的下標(biāo)與元素的值存在邏輯上的關(guān)系,稱之為關(guān)聯(lián)數(shù)組。指的是,鍵和值之間存在管理。 $a1 = array(name => 李尋歡, age => 34); ...

    zone 評論0 收藏0
  • PHP提取多維數(shù)組指定一列的方法大全

    摘要:中對多維數(shù)組特定列的提取,是個很常用的功能,正因?yàn)槿绱耍诎姹局螅砑恿艘粋€專用的函數(shù)。變種方法如下,意為把數(shù)組的每一項(xiàng)值的開頭值移出,并獲取移除的值作為新數(shù)組。注意此時(shí)新數(shù)組的鍵仍是原數(shù)組的鍵,如下。 PHP中對多維數(shù)組特定列的提取,是個很常用的功能,正因?yàn)槿绱耍琍HP在5.5.0版本之后,添加了一個專用的函數(shù)array_column()。當(dāng)然,如果你的PHP版本低于5.5.0,就...

    roundstones 評論0 收藏0
  • 10個必須掌握的PHP關(guān)聯(lián)數(shù)組使用技巧

    摘要:額外的數(shù)組元素可以象下面這樣追加如果你正在處理數(shù)字索引數(shù)組,你可能想使用顯示命名的函數(shù)前置和追加元素,如和函數(shù),但這些函數(shù)不能操作關(guān)聯(lián)數(shù)組。 在使用 PHP 進(jìn)行開發(fā)的過程中,或早或晚,您會需要創(chuàng)建許多相似的變量,這時(shí)候你可以把數(shù)據(jù)作為元素存儲在數(shù)組中。數(shù)組中的元素都有自己的 ID,因此可以方便地訪問它們。 關(guān)聯(lián)數(shù)組 關(guān)聯(lián)數(shù)組,它的每個 ID 鍵都關(guān)聯(lián)一個值。在存儲有關(guān)具體命名的值的數(shù)...

    bawn 評論0 收藏0
  • 遍歷PHP數(shù)組的6種方式

    摘要:遍歷完成后返回一個新的數(shù)組你可以同時(shí)處理多個數(shù)組你好嗎原罪你好嗎原罪是的,遍歷的次數(shù)以最長的數(shù)組為準(zhǔn)。假如你處理的是二維數(shù)組,處理方式也是萬變不離其宗的。 在PHP的日常操作中,數(shù)組是最常出現(xiàn)的結(jié)構(gòu),而我們幾乎每天都在處理數(shù)組相關(guān)的內(nèi)容。那么問題來了,你一般怎么遍歷并處理數(shù)組。 1、foreach 很熟悉吧,是不是你的最愛? $arr = [a, b, c]; foreach ($a...

    awkj 評論0 收藏0
  • PHP 每日函數(shù)】第 03 周期

    摘要:說明獲取數(shù)組中部分的或者所有的鍵名說明為數(shù)組的每個元素應(yīng)用回調(diào)函數(shù)說明合并一個或者多個數(shù)組說明對多個數(shù)組或者多維數(shù)組進(jìn)行排序具體可查看官網(wǎng)說明彈出數(shù)組中最后一個單元說明計(jì)算數(shù)組中所有值的乘積之前因?yàn)橐恍┦拢蜎]有每天都更,以后會堅(jiān)持保持 2019-02-27 array_keys() array_keys ( array $array [, mixed $search_value = ...

    騫諱護(hù) 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<