FuncUtility.php文件-(操作可编辑数据集中的值)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FuncUtility.php文件-(操作可编辑数据集中的值)相关的知识,希望对你有一定的参考价值。
This class can be used to Manipulate values in iterable data sets.It can iterate over a set of elements contained in a collection managed by an object that implements the Iterable interface.
The class executes several types of operations to manipulate the collection elements by invoking given callback functions that determine what to do with the elements.
Currently it can filter a subset of the elements, call a function to manipulate each of the elements, map the elements to a new set of values, reduce the elements to a single value.
<?php /**  * Allows to use FP-like features for arrays, strings, SPL iterators and even results  * returned from callbacks  *  * This class adds a lot of syntax sugar to your recordset processing routines or other  * similar tasks when you don't want to write a loop construct. You will never see the  * calls of FuncUtility methods in the Frontier's core. It uses call_user_func(),  * which is slow. But I hope, it's performance will be improved someday though.  *  * @author Stanis Shramko <[email protected]>  */ class FuncUtility {   /**    * Filters all elements of $set using the $callback    *    * @return array    * @throws InvalidArgumentException    */   public static function filter($callback, $set)   {     {       throw new InvalidArgumentException(         'The first argument is not callable');     }     {       {         {           $values[] = $value;         }       }     }     else     {       foreach (($set = self::prepareIterable($set)) as $value)       {           $values[] = $value;       }     }     return $values;   }   /**    * Applies the $callback to all elements of $set    *    * @return void    * @throws InvalidArgumentException    */   {     {       throw new InvalidArgumentException(         'The first argument is not callable');     }     {       {       }     }     else     {       foreach (($set = self::prepareIterable($set)) as $value)       {       }     }   }   /**    * Applies the $callback to all elements of $set    *    * @return array    * @throws InvalidArgumentException    */   public static function map($callback, $set)   {     {       throw new InvalidArgumentException(         'The first argument is not callable');     }     {       {       }     }     else     {       foreach (($set = self::prepareIterable($set)) as $value)       {       }     }     return $values;   }   /**    * Reduces the $set using $result    *    * @return array    * @throws InvalidArgumentException    */   public static function reduce($callback, $set)   {     {       throw new InvalidArgumentException(         'The first argument is not callable');     }     {       {       }     }     else     {       $first = true;       foreach (($set = self::prepareIterable($set)) as $value)       {         if (!$first)         {             $value);         }         else         {           $result = $value;           $first = false;         }       }     }     return $result;   }   /**    * Prepares "something iterable"    *    * @param mixed $set    * @return mixed array or Iterator    */   protected static function prepareIterable($set)   {     {       return $set;     }     {     }     throw new InvalidArgumentException('The second argument is not iterable');   } }
以上是关于FuncUtility.php文件-(操作可编辑数据集中的值)的主要内容,如果未能解决你的问题,请参考以下文章