yii\helpers\BaseArrayHelper::getColumn PHP Метод

getColumn() публичный статический Метод

The input array should be multidimensional or an array of objects. For example, php $array = [ ['id' => '123', 'data' => 'abc'], ['id' => '345', 'data' => 'def'], ]; $result = ArrayHelper::getColumn($array, 'id'); the result is: ['123', '345'] using anonymous function $result = ArrayHelper::getColumn($array, function ($element) { return $element['id']; });
public static getColumn ( array $array, string | Closure $name, boolean $keepKeys = true ) : array
$array array
$name string | Closure
$keepKeys boolean whether to maintain the array keys. If false, the resulting array will be re-indexed with integers.
Результат array the list of column values
    public static function getColumn($array, $name, $keepKeys = true)
    {
        $result = [];
        if ($keepKeys) {
            foreach ($array as $k => $element) {
                $result[$k] = static::getValue($element, $name);
            }
        } else {
            foreach ($array as $element) {
                $result[] = static::getValue($element, $name);
            }
        }
        return $result;
    }

Usage Example

Пример #1
0
 /**
  * @param $users_info
  * @param $name
  * @return array
  */
 public function getUsersInfo($users_info, $name)
 {
     $array = [];
     //get needed column
     $users_info = array_filter(BaseArrayHelper::getColumn($users_info, $name, false));
     $users_info = array_count_values($users_info);
     foreach ($users_info as $key => $value) {
         $array[] = [$key, $value];
     }
     return $array;
 }