park-brian/

functional-array

数组的函数式包装器

0.0.2 2017-09-21 20:05 UTC

This package is not auto-updated.

Last update: 2024-09-29 04:24:42 UTC


README

Build Status Test Coverage

懒加载评估的PHP数组

需求

  • php 5.6+

入门

composer require park-brian/functional-array

用法

<?php

use FunctionalArray\FunctionalArray as FnArray;

$sum = FnArray::create(range(1, 10))
  ->map     (function($value) { return $value * 2;  })
  ->filter  (function($value) { return $value > 10; })
  ->reduce  (function($acc = 0, $value) { return $acc + $value; });

echo $sum;

$fruitRatings = [
    'apples' => 70,
    'bananas' => 80,
    'cherries' => 90,
    'dragonfruit' => 100
];

$favoriteFruits = FnArray::create($fruitRatings)
  ->filter (function($value)        { return $value >= 80; })
  ->map    (function($value, $key)  { return "Rating for $key: $value"; })
  ->reduce (function($acc, $value)  { return " $acc \n $value"; })

echo $favoriteFruits;