亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

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

shiweifu / 852人閱讀

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

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

1、array_reduce

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

目的:把 $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)前兩個(gè)元素 $item 的索引
              return $carry . "";
            }, "");
            
var_dump($options);

輸出為

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

很多情況下,迭代的數(shù)據(jù)一般為一個(gè) 二維關(guān)聯(lián)數(shù)組,但 array_map 本身在回調(diào)函數(shù)的函數(shù)體內(nèi)無(wú)法獲取到 關(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)通過(guò) array_map()的第三個(gè)形參把下標(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

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

辣條 [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框架代碼 - 集合 的封裝 -> 傳送門(mén)

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/29262.html

相關(guān)文章

  • PHP_數(shù)組

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

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

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

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

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

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

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

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

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

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

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<