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

資訊專欄INFORMATION COLUMN

30秒的PHP代碼片段(1)數(shù)組 - Array

dunizb / 972人閱讀

摘要:排列如果所提供的函數(shù)返回的數(shù)量等于數(shù)組中成員數(shù)量的總和,則函數(shù)返回,否則返回。平鋪數(shù)組將數(shù)組降為一維數(shù)組根據(jù)給定的函數(shù)對數(shù)組的元素進(jìn)行分組。使用給定的回調(diào)篩選數(shù)組。相關(guān)文章秒的代碼片段數(shù)學(xué)秒的代碼片段字符串函數(shù)

本文來自GitHub開源項(xiàng)目

點(diǎn)我跳轉(zhuǎn)

30秒的PHP代碼片段

精選的有用PHP片段集合,您可以在30秒或更短的時間內(nèi)理解這些片段。
排列 all

如果所提供的函數(shù)返回 true 的數(shù)量等于數(shù)組中成員數(shù)量的總和,則函數(shù)返回 true,否則返回 false

function all($items, $func)
{
    return count(array_filter($items, $func)) === count($items);
}

Examples

all([2, 3, 4, 5], function ($item) {
    return $item > 1;
}); // true
any

如果提供的函數(shù)對數(shù)組中的至少一個元素返回true,則返回true,否則返回false

function any($items, $func)
{
    return count(array_filter($items, $func)) > 0;
}

Examples

any([1, 2, 3, 4], function ($item) {
    return $item < 2;
}); // true
deepFlatten(深度平鋪數(shù)組)

將多維數(shù)組轉(zhuǎn)為一維數(shù)組

function deepFlatten($items)
{
    $result = [];
    foreach ($items as $item) {
        if (!is_array($item)) {
            $result[] = $item;
        } else {
            $result = array_merge($result, deepFlatten($item));
        }
    }

    return $result;
}

Examples

deepFlatten([1, [2], [[3], 4], 5]); // [1, 2, 3, 4, 5]
drop

返回一個新數(shù)組,并從左側(cè)彈出n個元素。

function drop($items, $n = 1)
{
    return array_slice($items, $n);
}

Examples

drop([1, 2, 3]); // [2,3]
drop([1, 2, 3], 2); // [3]
findLast

返回所提供的函數(shù)為其返回的有效值(即過濾后的值)的最后一個元素的鍵值(value)。

function findLast($items, $func)
{
    $filteredItems = array_filter($items, $func);

    return array_pop($filteredItems);
}

Examples

findLast([1, 2, 3, 4], function ($n) {
    return ($n % 2) === 1;
});
// 3
findLastIndex

返回所提供的函數(shù)為其返回的有效值(即過濾后的值)的最后一個元素的鍵名(key)。

function findLastIndex($items, $func)
{
    $keys = array_keys(array_filter($items, $func));

    return array_pop($keys);
}

Examples

findLastIndex([1, 2, 3, 4], function ($n) {
    return ($n % 2) === 1;
});
// 2
flatten(平鋪數(shù)組)

將數(shù)組降為一維數(shù)組

function flatten($items)
{
    $result = [];
    foreach ($items as $item) {
        if (!is_array($item)) {
            $result[] = $item;
        } else {
            $result = array_merge($result, array_values($item));
        }
    }

    return $result;
}

Examples

flatten([1, [2], 3, 4]); // [1, 2, 3, 4]
groupBy

根據(jù)給定的函數(shù)對數(shù)組的元素進(jìn)行分組。

function groupBy($items, $func)
{
    $group = [];
    foreach ($items as $item) {
        if ((!is_string($func) && is_callable($func)) || function_exists($func)) {
            $key = call_user_func($func, $item);
            $group[$key][] = $item;
        } elseif (is_object($item)) {
            $group[$item->{$func}][] = $item;
        } elseif (isset($item[$func])) {
            $group[$item[$func]][] = $item;
        }
    }

    return $group;
}

Examples

groupBy(["one", "two", "three"], "strlen"); // [3 => ["one", "two"], 5 => ["three"]]
hasDuplicates(查重)

檢查數(shù)組中的重復(fù)值。如果存在重復(fù)值,則返回true;如果所有值都是唯一的,則返回false

function hasDuplicates($items)
{
    return count($items) > count(array_unique($items));
}

Examples

hasDuplicates([1, 2, 3, 4, 5, 5]); // true
head

返回數(shù)組中的第一個元素。

function head($items)
{
    return reset($items);
}

Examples

head([1, 2, 3]); // 1
last

返回數(shù)組中的最后一個元素。

function last($items)
{
    return end($items);
}

Examples

last([1, 2, 3]); // 3
pluck

檢索給定鍵名的所有鍵值

function pluck($items, $key)
{
    return array_map( function($item) use ($key) {
        return is_object($item) ? $item->$key : $item[$key];
    }, $items);
}

Examples

pluck([
    ["product_id" => "prod-100", "name" => "Desk"],
    ["product_id" => "prod-200", "name" => "Chair"],
], "name");
// ["Desk", "Chair"]
pull

修改原始數(shù)組以過濾掉指定的值。

function pull(&$items, ...$params)
{
    $items = array_values(array_diff($items, $params));
    return $items;
}

Examples

$items = ["a", "b", "c", "a", "b", "c"];
pull($items, "a", "c"); // $items will be ["b", "b"]
reject

使用給定的回調(diào)篩選數(shù)組。

function reject($items, $func)
{
    return array_values(array_diff($items, array_filter($items, $func)));
}

Examples

reject(["Apple", "Pear", "Kiwi", "Banana"], function ($item) {
    return strlen($item) > 4;
}); // ["Pear", "Kiwi"]
remove

從給定函數(shù)返回false的數(shù)組中刪除元素。

function remove($items, $func)
{
    $filtered = array_filter($items, $func);

    return array_diff_key($items, $filtered);
}

Examples

remove([1, 2, 3, 4], function ($n) {
    return ($n % 2) === 0;
});
// [0 => 1, 2 => 3]
tail

返回數(shù)組中的所有元素,第一個元素除外。

function tail($items)
{
    return count($items) > 1 ? array_slice($items, 1) : $items;
}

Examples

tail([1, 2, 3]); // [2, 3]
take

返回一個數(shù)組,其中從開頭刪除了n個元素。

function take($items, $n = 1)
{
    return array_slice($items, 0, $n);
}

Examples

take([1, 2, 3], 5); // [1, 2, 3]
take([1, 2, 3, 4, 5], 2); // [1, 2]
without

篩選出給定值之外的數(shù)組元素。

function without($items, ...$params)
{
    return array_values(array_diff($items, $params));
}

Examples

without([2, 1, 2, 3, 5, 8], 1, 2, 8); // [3, 5]
orderBy

按鍵名對數(shù)組或?qū)ο蟮募线M(jìn)行排序。

function orderBy($items, $attr, $order)
{
    $sortedItems = [];
    foreach ($items as $item) {
        $key = is_object($item) ? $item->{$attr} : $item[$attr];
        $sortedItems[$key] = $item;
    }
    if ($order === "desc") {
        krsort($sortedItems);
    } else {
        ksort($sortedItems);
    }

    return array_values($sortedItems);
}

Examples

orderBy(
    [
        ["id" => 2, "name" => "Joy"],
        ["id" => 3, "name" => "Khaja"],
        ["id" => 1, "name" => "Raja"]
    ],
    "id",
    "desc"
); // [["id" => 3, "name" => "Khaja"], ["id" => 2, "name" => "Joy"], ["id" => 1, "name" => "Raja"]]

相關(guān)文章:
30秒的PHP代碼片段(2)數(shù)學(xué) - Math
30秒的PHP代碼片段(3)字符串-String & 函數(shù)-Function

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

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

相關(guān)文章

  • 30秒的PHP代碼片段(2)數(shù)學(xué) - Math

    摘要:本文來自開源項(xiàng)目點(diǎn)我跳轉(zhuǎn)秒的代碼片段精選的有用片段集合,您可以在秒或更短的時間內(nèi)理解這些片段。檢查提供的整數(shù)是否是素數(shù)。約等于檢查兩個數(shù)字是否近似相等。否則,返回該范圍內(nèi)最近的數(shù)字。相關(guān)文章秒的代碼片段數(shù)組秒的代碼片段字符串函數(shù) 本文來自GitHub開源項(xiàng)目 點(diǎn)我跳轉(zhuǎn) 30秒的PHP代碼片段 showImg(https://segmentfault.com/img/bVbnR1I?w=...

    mcterry 評論0 收藏0
  • 30秒的PHP代碼片段(3)字符串-String & 函數(shù)-Function

    摘要:返回給定字符串中的元音數(shù)。使用正則表達(dá)式來計算字符串中元音的數(shù)量。對字符串的第一個字母進(jìn)行無頭化,然后將其與字符串的其他部分相加。使用查找字符串中第一個出現(xiàn)的子字符串的位置。相關(guān)文章秒的代碼片段數(shù)組秒的代碼片段數(shù)學(xué) 本文來自GitHub開源項(xiàng)目 點(diǎn)我跳轉(zhuǎn) 30秒的PHP代碼片段 showImg(https://segmentfault.com/img/bVbnR1I?w=2800&h=...

    BlackMass 評論0 收藏0
  • Day18 - Reduce、Map混合使用計算時分秒

    摘要:混合使用計算時分秒本文出自從零到壹全棧部落作者黎躍春追時間的人簡介是推出的一個天挑戰(zhàn)。完整中文版指南及視頻教程在從零到壹全棧部落。效果圖第天挑戰(zhàn)的內(nèi)容主要是如何將一系列的加起來,最終計算總時間,總時間用時分秒顯示。 Day18 - Reduce、Map混合使用計算時分秒 本文出自:從零到壹全棧部落作者:?黎躍春-追時間的人 簡介:JavaScript30 是 Wes Bos 推出的一個...

    raoyi 評論0 收藏0
  • 30秒就能理解的 Javascript 代碼片段 --- Array

    摘要:而這個秒就能理解的代碼片段,摒棄了許多不必要的代碼,只實(shí)現(xiàn)了最核心的部分,不像和那樣,考慮參數(shù)邊界值問題,例如,參數(shù)的類型是否符合預(yù)期等。使用根據(jù)斷言函數(shù)對數(shù)組進(jìn)行過濾,返回條件為真值的對象。 之前翻譯過一篇文章,《我喜歡的5個編程技巧》,里面的一個技巧是借鑒一個網(wǎng)站的代碼片段,好奇的小手點(diǎn)下鏈接后,發(fā)現(xiàn)是一個有 47000 多star的倉庫,30-seconds-of-code。 倉...

    fox_soyoung 評論0 收藏0
  • 45 個實(shí)用的 JavaScript 技巧、竅門和最佳實(shí)踐

    摘要:使用閉包實(shí)現(xiàn)私有變量譯者添加未在構(gòu)造函數(shù)中初始化的屬性在語句結(jié)尾處使用分號在語句結(jié)尾處使用分號是一個很好的實(shí)踐。總結(jié)我知道還有很多其他的技巧,竅門和最佳實(shí)踐,所以如果你有其他想要添加或者對我分享的這些有反饋或者糾正,請在評論中指出。 showImg(http://segmentfault.com/img/bVbJnR); 如你所知,JavaScript是世界上第一的編程語言(編者注:2...

    魏憲會 評論0 收藏0

發(fā)表評論

0條評論

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