yii2mod/yii2-helpers

Yii Framework 2.0的有用辅助函数集合

安装: 135,967

依赖者: 5

建议者: 0

安全性: 0

星标: 15

关注者: 6

分支: 4

开放问题: 0

类型:yii2-extension

1.3 2016-11-22 15:51 UTC

This package is not auto-updated.

Last update: 2024-09-20 22:01:07 UTC


README

此扩展为Yii Framework 2.0提供了一组有用的辅助函数。

Latest Stable Version Total Downloads License Build Status

安装

安装此扩展的首选方式是通过 Composer

运行以下命令之一:

php composer.phar require --prefer-dist yii2mod/yii2-helpers "*"

"yii2mod/yii2-helpers": "*"

将以下内容添加到您的composer.json文件的require部分。

可用方法

  1. add()
  2. average()
  3. collapse()
  4. except()
  5. has()
  6. first()
  7. flatten()
  8. last()
  9. only()
  10. pluck()
  11. prepend()
  12. pull()
  13. set()
  14. sort()
  15. sortRecursive()
  16. where()
  17. xmlStrToArray()

方法列表

#####add()

如果数组中不存在给定的键,则将键/值对添加到数组中

$array = ArrayHelper::add(['card' => 'Visa'], 'price', 200);
// ['card' => 'Visa', 'price' => 200]

#####average()

获取给定键的平均值

ArrayHelper::average([1, 2, 3, 4, 5]);
// 3

您还可以将键传递给average方法

$array = [
   ['score' => 10],
   ['score' => 30],
   ['score' => 50],
];

ArrayHelper::average($array, 'score');

// 30

#####collapse()

将数组数组的数组折叠成一个单一数组

$array = ArrayHelper::collapse([[1, 2, 3], [4, 5, 6]]);

// [1, 2, 3, 4, 5, 6]

#####except()

获取除了指定数组项之外的所有给定数组

$array = ['name' => 'Desk', 'price' => 100];

$array = ArrayHelper::except($array, ['price']);

// ['name' => 'Desk']

#####has()

使用“点”符号检查数组中是否存在项

$array = ['products' => ['desk' => ['price' => 100]]];

$hasDesk = ArrayHelper::has($array, 'products.desk');

// true

#####first()

返回通过给定真值测试的数组的第一个元素

$array = [100, 200, 300];
$value = ArrayHelper::first($array); // 100

// or apply custom callback

$value = ArrayHelper::first($array, function($key, $value) {
      return $value >= 150; // 200
});

#####flatten()

将多维数组展平为一维

$array = ['name' => 'Bob', 'languages' => ['PHP', 'Python']];

$array = ArrayHelper::flatten($array);

// ['Bob', 'PHP', 'Python'];

#####last()

返回通过给定真值测试的数组的最后一个元素

$array = [100, 200, 300];
$value = ArrayHelper::last($array); // 300

// or apply custom callback

$value = ArrayHelper::last($array, function($key, $value) {
      return $value; // 300
});

#####only()

从给定数组获取项目子集

$array = ['name' => 'Desk', 'price' => 100, 'orders' => 10];

$array = ArrayHelper::only($array, ['name', 'price']);

// ['name' => 'Desk', 'price' => 100]

#####prepend()

将项目推送到数组的开头

$array = ['one', 'two', 'three', 'four'];

$array = ArrayHelper::prepend($array, 'zero');

// $array: ['zero', 'one', 'two', 'three', 'four']

#####pluck()

此函数检索给定键的所有集合值

$array = [
   ['product_id' => 'prod-100', 'name' => 'Desk'],
   ['product_id' => 'prod-200', 'name' => 'Chair'],
];


$plucked = ArrayHelper::pluck($array, 'name');

// ['Desk', 'Chair']

您还可以指定您希望结果集合如何键入

$plucked = ArrayHelper::pluck($array, 'name', 'product_id');

// ['prod-100' => 'Desk', 'prod-200' => 'Chair']

#####pull()

从数组中获取值,并移除它

$array = ['name' => 'Desk', 'price' => 100];

$name = ArrayHelper::pull($array, 'name');

// $name: Desk

// $array: ['price' => 100]

#####set()

使用“点”符号设置数组项的值

$array = ['products' => ['desk' => ['price' => 100]]];

ArrayHelper::set($array, 'products.desk.price', 200);

// ['products' => ['desk' => ['price' => 200]]]

#####sort()

使用给定的回调函数对数组进行排序

$array = [
    ['name' => 'Desk'],
    ['name' => 'Chair'],
];

$array = ArrayHelper::sort($array, function ($value) {
    return $value['name'];
});

/*
    [
        ['name' => 'Chair'],
        ['name' => 'Desk'],
    ]
*/

#####sortRecursive()

递归地对数组按键和值进行排序

$array = [
      [
          'Desc',
          'Chair',
      ],
      [
          'PHP',
          'Ruby',
          'JavaScript',
      ],
];

$array = ArrayHelper::sortRecursive($array);
        
/*
  [
      [
         'Chair',
         'Desc',
      ],
      [
         'JavaScript',
         'PHP',
         'Ruby',
      ]
  ];
*/

#####where()

使用给定的闭包过滤数组

$array = ["100", 200, "300"];
$value = ArrayHelper::where($array, function($key, $value) {
   return is_string($value);
});
// Will be return Array ( [0] => 100 [2] => 300 );

#####xmlStrToArray()

将XML字符串转换为数组。

$xml = '<?xml version="1.0"?>
          <root>
            <id>1</id>
            <name>Bob</name>
          </root>';
          
ArrayHelper::xmlStrToArray($xml)

// ['id' => 1, 'name' => 'Bob']

####StringHelper

  • StringHelper::removeStopWords('some text'); - 从字符串中删除停用词
  • StringHelper::removePunctuationSymbols('some text'); - 从字符串中删除标点符号