1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/nero_xeizi-pfinal-array

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Примечание: PHP PHPArray Validator

Это компонент для работы с массивами в PHP, который предоставляет набор функций для обработки массивов.

В настоящее время компонент включает следующие функции:

Функция Описание
pf_del_val() Удаляет значение из массива
pf_key_exists() Определяет, есть ли ключ в массиве
pf_get() Получает значение по ключу, поддерживает точечную нотацию
pf_set() Устанавливает значение элемента массива, поддерживает точечную нотацию
pf_arr_sort() Сортирует массив
pf_tree() Преобразует двумерный массив в древовидную структуру (без рекурсии)
pf_get_tree() Преобразует многомерный массив в дерево (без рекурсии)
pf_array_unique() Убирает дубликаты из многомерного массива
pf_array_depth() Определяет размерность массива
pf_encode() Конвертирует данные в форматы json, xml, csv, serialize
pf_array_flatten() Сводит многомерный массив к одномерному
pf_is_list() Проверяет, является ли массив индексированным
pf_array_rand_by_weight() Возвращает случайный элемент массива на основе веса
pf_rand_val() Случайно выбирает элемент из массива
pf_rand_weighted() Выбирает элемент массива случайным образом на основе веса
pf_array_shuffle() Перемешивает элементы массива (поддерживает многомерные массивы)
pf_array_insert() Вставляет элемент в заданную позицию массива
pf_array_diff_both() Возвращает элементы, которые отличаются в двух массивах
pf_array_group_by() Группирует элементы массива по заданному ключу
pf_array_null() Заменяет null значения в массиве на пустые строки
pf_count_element() Подсчитывает количество вхождений элемента в массив
pf_map() Переупорядочивает элементы массива
pf_exists() Проверяет наличие ключа в массиве
pf_arr_group_by() Группирует массив по значению
pf_arr_sort_by_key() Сортирует массив по ключу
pf_arr_remove_empty() Рекурсивно удаляет пустые символы, отрицательные значения, false и null из многомерных массивов
pf_date_indexed() Создаёт массив дат
pf_date_assoc() Создаёт ассоциативный массив дат
pf_array_where() Фильтрует массив с помощью заданной функции
pf_array_first() Получает первый элемент массива
pf_array_last() Получает последний элемент массива

Установка

Для установки компонента используйте Composer:

  composer require nancheng/pfinal-array

Использование


    require './vendor/autoload.php';
    use pf\arr\PFarr;
    // Вызов метода

Пример

Многомерный массив без дубликатов

$arr = [1,54,'a',45,12,'c',1,1,12,[1,1,'a',['a','b','a']]];
$arr = PFarr::pf_array_unique($arr);
echo '<pre>';
print_r($arr);

// Результат
Array
(
    [0] => 1
    [1] => 54
    [2] => a
    [3] => 45
    [4] => 12
    [5] => c
    [9] => Array
        (
            [0] => 1
            [2] => a
            [3] => Array
                (
                    [0] => a
                    [1] => b
                )
        )
)

Получение элементов столбца

$result = PFarr::pf_array_col($records, 'first_name', 'id');
print_r($result);

Группировка элементов массива по ключу

$records = [
    ['city' => 'Шанхай', 'age' => 18, 'name' => 'Ма Эр'],
    ['city' => 'Шанхай', 'age' => 20, 'name' => 'Цуй Хуа']
];

// Группировка по city
$arr = PFarr::pf_array_group_by($records,'city');

// Группировка сначала по city, затем по age
$arr1 = PFarr::pf_array_group_by($records,'city','age');

Алгоритм группировки слов

<?php
// Алгоритм группировки слов
$arr=array('брюки', 'джинсы', 'низкие', 'толстые');  
$count=count($arr);  
for($i=1;$i<=$count;$i++){  
    $temp[$i]=PFarr::pf_diy_words($arr,$i);  
}  
PFarr::dd($temp);

Подсчёт количества вхождений каждого элемента в массив

<?php
$arr_one = ['a', 'b', 'c', 'd'];
$arr_two = ['a', 'b', 'a', 'c', 'b', 'd'];

PFarr::dd(PFarr::pf_count_element($arr_one));

/*
  Результат:
  Array
   (
       [a] => 1
       [b] => 1
       [c] => 1
       [d] => 1
   )
 */

PFarr::dd(PFarr::pf_count_element($arr_two));
 /*
   Результат:
 Array
 (
     [a] => 2
     [b] => 2
     [c] => 1
     [d] => 1
 )
  
 */

Создание карты (массива ключей и значений)

<?php
$array = [
    ['id' => '123', 'name' => 'aaa', 'class' => 'x'],
    ['id' => '124', 'name' => 'bbb', 'class' => 'x'],
    ['id' => '345', 'name' => 'ccc', 'class' => 'y'],
];

PFarr::dd(PFarr::pf_map($array,'id','name'));

/*
  Результат:
 Array
 (
     [123] => aaa
     [124] => bbb
     [345] => ccc
 )
 */


PFarr::dd(PFarr::pf_map($array,'id','name','class'));
/*
Результат
Array
(
    [x] => Array
        (
            [123] =>
``` ```
Посмотреть больше примеров: [больше](./example/README.md)

### Другие

Продолжить улучшение

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Компонент для расширения возможностей работы с массивами в PHP, который инкапсулирует распространённые операции над массивами. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/nero_xeizi-pfinal-array.git
git@api.gitlife.ru:oschina-mirror/nero_xeizi-pfinal-array.git
oschina-mirror
nero_xeizi-pfinal-array
nero_xeizi-pfinal-array
master