彩世界开奖app官网-彩世界平台官方网址(彩票平台)
做最好的网站
来自 计算机编程 2019-11-28 06:43 的文章
当前位置: 彩世界开奖app官网 > 计算机编程 > 正文

汇集(Collection卡塔 尔(英语:State of Qatar)彩世

  名称 说明
Equals(Object)

确定指定的对象是否等于当前对象。(继承自 Object。)

Finalize()

在垃圾回收将某一对象回收前允许该对象尝试释放资源并执行其他清理操作。(继承自 Object。)

GetHashCode()

作为默认哈希函数。(继承自 Object。)

GetTimestamp()

获取计时器机制中的当前刻度数。

GetType()

获取当前实例的 Type。(继承自 Object。)

MemberwiseClone()

创建当前 Object 的浅表副本。(继承自 Object。)

Reset()

停止时间间隔测量,并将运行时间重置为零。

Restart()

停止时间间隔测量,将运行时间重置为零,然后开始测量运行时间。

Start()

开始或继续测量某个时间间隔的运行时间。

StartNew()

初始化新的 Stopwatch 实例,将运行时间属性设置为零,然后开始测量运行时间。

Stop()

停止测量某个时间间隔的运行时间。

ToString()

返回表示当前对象的字符串。(继承自 Object。)

  • sum 方法

2.类方法实现

  必须写在以@implementation开头,@end之间
  在声明的后面加上{}即表示实现
  将需要实现的代码写在{}中

 

# 返回出现次数最多的数
$collection = collect(array(array(12,11,'php'=>13),array(12,1,'php'=>13),array('php'=>12,3)));
dump($collection->mode('php')); //> [13]
$collection = collect(array('hello'=>34,'php'=>2,'we'=>34,'ed'=>34,'wd'=>3,2,2));
dump($collection->mode());  //> [34,2]
$collection = collect(array(12,3,234,21,32,123,1,1,2,2));
dump($collection->mode());  //> [1,2]

目录

  1. 类方法声明
  2. 类方法实现
  3. 对象方法和类方法区别

 

  • each 方法

1.类方法声明

  • 格式

    • 将对象方法-号变为 号
  • 特征

    • 类方法以 开头 如 (void)put;
    • 类方法只能由类来调用
    • 类方法中不能访问实例(成员)变量,因为类方法由类来调用,并没有创建存储空间 来存储类中的成员变量。
  • 类方法的好处:

    • 节省内存空间
    • 不依赖于对象,执行效率更高;
    • 能用类方法解决的问题,尽量使用类方法;
  • 类方法的场合:

    • 当方法内部不需要使用到成员变量时,可以改为类方法
    • 类方法一般用于编写工具方法
  • 示例

//声明没有返回值的方法
  (void)method;
//声明有返回值的方法
  (int)method;
//声明有返回值有参数的方法
  (int)method: (int)var;
//声明有返回值有多个参数的方法
  (int)method: (int)var1 andVar2: (int)var2;

属性

3.对象方法和类方法区别

  • 对象方法

    • 对象方法是属于对象的方法
    • 以减号-开头
    • 只能让对象调用,没有对象,这个方法不能被执行
    • 对象方法能访问实例变量(成员变量)
    • 对象方法中可以调用当前对象的对象方法
    • 对象方法中可以调用其它对象的对象方法
    • 对象方法中不可以调用类方法
  • 类方法

    • 类方法是属于类的
    • 以加号 开头
    • 只能用类名调用,对象不能调用
    • 类方法中不能直接访问实例变量(成员变量)
    • 类方法中不能直接调用对象方法,要想调用对象方法,必须创建或传入对象。
  • 使用场合:

    • 当不需要访问成员变量的时候,尽量用类方法
  • 类方法和对象方法可以同名


  在做项目的时候,需要输出数据库操作的耗时,自己写了个方法。老大看到后,奇怪我为什么不用现成的。才知道有StopWatch这个类。

    /**
     * Zip the collection together with one or more arrays.
     *
     * e.g. new Collection([1, 2, 3])->zip([4, 5, 6]);
     *      => [[1, 4], [2, 5], [3, 6]]
     *
     * @param  mixed ...$items
     * @return static
     */
    public function zip($items)
    {
        $arrayableItems = array_map(function ($items) {
            return $this->getArrayableItems($items);
        }, func_get_args());

        $params = array_merge([function () {
            return new static(func_get_args());
        }, $this->items], $arrayableItems);

        return new static(call_user_func_array('array_map', $params));
    }

 

    /**
     * @return array
     * 得到当前Collection的值 $this->items
     */
     public function all();
  名称 说明
Elapsed

获取当前实例测量得出的总运行时间。

ElapsedMilliseconds

获取当前实例测量得出的总运行时间(以毫秒为单位)。

ElapsedTicks

获取当前实例测量得出的总运行时间(用计时器刻度表示)。

IsRunning

获取一个值,该值表示 Stopwatch 计时器是否正在运行。

方法

# 该方法正好和whereIn用法相反
    /**
     * Filter items by the given key value pair.
     *
     * @param  string  $key
     * @param  mixed  $values
     * @param  bool  $strict
     * @return static
     */
    public function whereNotIn($key, $values, $strict = false)
    {
        $values = $this->getArrayableItems($values);

        return $this->reject(function ($item) use ($key, $values, $strict) {
            return in_array(data_get($item, $key), $values, $strict);
        });
    }

 

# 源码 - when 方法使用很简单这里不详细举例了
    /**
     * Apply the callback if the value is truthy.
     *
     * @param  bool  $value            # 判断条件
     * @param  callable  $callback
     * @param  callable  $default
     * @return mixed
     */
    public function when($value, callable $callback, callable $default = null)
    {
        if ($value) {
            return $callback($this);
        } elseif ($default) {
            return $default($this);
        }

        return $this;
    }
# 参考where方法 严格等于 筛选
    /**
     * Filter items by the given key value pair using strict comparison.
     *
     * @param  string  $key
     * @param  mixed  $value
     * @return static
     */
    public function whereStrict($key, $value)
    {
        return $this->where($key, '===', $value);
    }
    /**
     * Get the collection of items as JSON.
     *
     * @param  int  $options
     * @return string
     */
    public function toJson($options = 0)
    {
        return json_encode($this->jsonSerialize(), $options);
    }
    /**
     * Convert the object into something JSON serializable.
     *
     * @return array
     */
    public function jsonSerialize()
    {
        return array_map(function ($value) {
            if ($value instanceof JsonSerializable) {
                return $value->jsonSerialize();
            } elseif ($value instanceof Jsonable) {
                return json_decode($value->toJson(), true);
            } elseif ($value instanceof Arrayable) {
                return $value->toArray();
            } else {
                return $value;
            }
        }, $this->items);
    }
  • toJson 方法
  • avg 方法
  • whereNotInStrict 方法
$collection = collect(array('hello'=>"miss",'php'=>2,'or',3))->avg(); //> 不推荐
dump($collection); //> 1.25 = (2 3)/4
$collection = collect(array(1,3,5,7,9))->avg();
dump($collection); //> 5 = (1 3 5 7 9)/5
$collection = collect(array(array('php'=>12,13,43),array('es'=>12,13,'php'=>32)))->avg('php');
dump($collection); //> 22 = (12 32)/2
# 该方法和whereInStrict用法相反
    /**
     * Filter items by the given key value pair using strict comparison.
     *
     * @param  string  $key
     * @param  mixed  $values
     * @return static
     */
    public function whereNotInStrict($key, $values)
    {
        return $this->whereNotIn($key, $values, true);
    }
# 源码 - 参考when方法
    /**
     * Apply the callback if the value is falsy.
     *
     * @param  bool  $value            # 判断条件
     * @param  callable  $callback
     * @param  callable  $default
     * @return mixed
     */
    public function unless($value, callable $callback, callable $default = null)
    {
        return $this->when(! $value, $callback, $default);
    }
# 严格过滤 - 参看whereIn方法
    /**
     * Filter items by the given key value pair using strict comparison.
     *
     * @param  string  $key
     * @param  mixed  $values
     * @return static
     */
    public function whereInStrict($key, $values)
    {
        return $this->whereIn($key, $values, true);
    }
  • 创建集合
  • max 方法
  • where 方法
# 获取给定集合的中间值(排序后的中间值)
# 集合是奇数 获取中间数值
# 集合是偶数 获取中间两个数的平均值
$collection = collect(array('hello'=>34,'php'=>2,'we'=>32,'ed'=>54,'wd'=>3,43));
dump($collection->median());  //> 33 = (34 32)/2
$collection = collect(array('hello'=>34,'php'=>2,'we'=>32,'ed'=>54,'wd'=>3));
dump($collection->median()); //> 32
$collection = collect(array(array(12,11,'php'=>43),array(12,1,'php'=>23),array('php'=>12,3)));
dump($collection->median('php')); //> 23
  • whereNotIn 方法
# 源码 - 给定集合键(过滤集合)是否在另一个数组或集合里存在
    /**
     * Filter items by the given key value pair.
     *
     * @param  string  $key       # 给定集合里的键
     * @param  mixed  $values # 另一个集合或数组
     * @param  bool  $strict       # 是否开启严格比较
     * @return static
     */
    public function whereIn($key, $values, $strict = false)
    {
        $values = $this->getArrayableItems($values);

        return $this->filter(function ($item) use ($key, $values, $strict) {
            return in_array(data_get($item, $key), $values, $strict);
        });
    }
# 参看 array_map() 函数
$collection = collect(array('hello'=>"miss",'php'=>"mr",'or','golang'));
# 遍历集合数组元素(返回插入集合数值)
$coll = $collection->map(function ($value,$key){
    # $value 值 $key 键
    return "a12";
});
dump($coll); //> collect(array('hello'=>"a12",'php'=>"a12","a12","a12"))
# min 推荐纯数值集合
$collection = collect(array('hello'=>"miss",'php'=>2,'or',3))->min(); //> 不推荐
dump($collection); //> miss
$collection = collect(array(1,3,5,7,9))->min();
dump($collection); //> 1
$collection = collect(array(array('php'=>12,13,43),array('es'=>12,13,'php'=>32)))->min('php');
dump($collection); //> 12
  • when 方法
  • unless 方法
# max 推荐纯数值集合
$collection = collect(array('hello'=>"miss",'php'=>2,'or',3))->max();  //> 不推荐
dump($collection); //> 3
$collection = collect(array(1,3,5,7,9))->max();
dump($collection); //> 9
$collection = collect(array(array('php'=>12,13,43),array('es'=>12,13,'php'=>32)))->max('php');
dump($collection); //> 32
$collection = collect(array('hello'=>"miss",'php'=>2,'or',3))->sum();
dump($collection); //> 5
$collection = collect(array(1,3,5,7,9))->sum();
dump($collection); //> 25
$collection = collect(array(array('php'=>12,13,43),array('es'=>12,13,'php'=>32)))->sum('php');
dump($collection); //> 44
  • whereInStrict 方法
  • tap 方法
  • reject 方法
  • toArray 方法
# 过滤集合中元素参看 array_filter() 方法
$collection = collect(array('hello'=>"miss",'php'=>"mr",'or','golang'));
# 遍历集合数组元素(返回插入集合数值)
$coll = $collection->reject(function ($value,$key){
      # $value 值 $key 键
      # 返回值 bool:true 过滤该值
    if( $key === 'php' ){
        return true;
    }
    return false;
});
dump($coll); //> collect(array('hello'=>"miss,'or','golang'))
    /**
     * Pass the collection to the given callback and then return it.
     *
     * @param  callable  $callback
     * @return $this
     */
    public function tap(callable $callback)
    {
        $callback(new static($this->items));

        return $this;
    }
    $collection = collect(array('hello'=>"miss",'php'=>2,'or',3));
    $collection->tap(function($coll){
        dump($coll); //> collect(array('hello'=>"miss",'php'=>2,'or',3))
    });
  • median 方法
    /**
     *  @param mixed $value
     *  @return IlluminateSupportCollection
     *  辅助函数 collect 创建 Collection 对象
     */
     Collection function collect($value = null);
     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    /**
     *  @param mixed $value
     *  @return IlluminateSupportCollection
     *  采用 new 关键字创建Collection集合对象
     */
    new IlluminateSupportCollection($value);
# 过滤掉其他数据 刷选
    /**
     * Filter items by the given key value pair.
     *
     * @param  string  $key
     * @param  mixed  $operator
     * @param  mixed  $value
     * @return static
     */
    public function where($key, $operator, $value = null)
    {
        if (func_num_args() == 2) {
            $value = $operator;

            $operator = '=';
        }

        return $this->filter($this->operatorForWhere($key, $operator, $value));
    }
# 使用示例
$collection = collect(array(array(12,11,'php'=>13),array(12,1,'php'=>13),array(3)));
dump($collection->where('php','=',13)); //> collect(array(array(12,11,'php'=>13),array(12,1,'php'=>13)))
# 支持比较符 null(=) = == != <> > < >= <= === !==
  • whereStrict 方法
    /**
     * Get the collection of items as a plain array.
     *
     * @return array
     */
    public function toArray()
    {
        return array_map(function ($value) {
            return $value instanceof Arrayable ? $value->toArray() : $value;
        }, $this->items);
    }
  • all 方法
  • map 方法
# 检查集合中每一个元素是否符合条件
# 源码参考
    /**
     * Determine if all items in the collection pass the given test.
     *
     * @param  string|callable  $key
     * @param  mixed  $operator
     * @param  mixed  $value
     * @return bool
     */
    public function every($key, $operator = null, $value = null)
    {
        if (func_num_args() == 1) {
            $callback = $this->valueRetriever($key);

            foreach ($this->items as $k => $v) {
                if (! $callback($v, $k)) {
                    return false;
                }
            }

            return true;
        }

        if (func_num_args() == 2) {
            $value = $operator;

            $operator = '=';
        }

        return $this->every($this->operatorForWhere($key, $operator, $value));
    }
# 使用示例
$collection = collect(array(array(12,11,'php'=>13),array(12,1,'php'=>13),array('php'=>12,3)));
$result = $collection->every(function($v,$k){
    # $v 值 $k 键
    # 条件判断 
    # return false; 比较失败终止比较返回false
    # return true; 本次比较通过,进行下次比较
    return true;
});
dump($result);    //> true
dump($collection->every('php','>',12)); //> false
# php键 是否存在集合里(集合里的每一个数组中)
dump($collection->every('php')); //> true 
dump(collect(array(array(12,11,'php'=>13),array(12,1,'php'=>13),array(3)))->every('php')); //> false
# 支持比较符 null(=) = == != <> > < >= <= === !==
# 更多用法 - 参看源码
  • min 方法
  • every 方法
    /**
     * Execute a callback over each item.
     *
     * @param  callable  $callback
     * @return $this
     */
    public function each(callable $callback)
    {
        foreach ($this->items as $key => $item) {
            if ($callback($item, $key) === false) {
                break;
            }
        }

        return $this;
    }
$collection = collect(array(array(12,11,'php'=>13),array(12,1,'php'=>13),array('php'=>12,3)));
$collection->each(function ($value,$key){
    # $value 值 $key 键
    dump($value);
    dump($key);
});
  • mode 方法
  • whereIn 方法
  • zip 方法

本文由彩世界开奖app官网发布于计算机编程,转载请注明出处:汇集(Collection卡塔 尔(英语:State of Qatar)彩世

关键词: Laravel 5.5 OC基础(一)