Примечание: 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 )