Класс Arr

Класс-помощьник по работе с массивами.

Методы

arr::files()

Обрабатывает массив $_FILES в более приятный вид.

Пример

<form method="post" enctype="multipart/form-data">
    <p><input type="file" name="simple_test" /></p>

    <p>
        <input type="file" name="multiple_test[]" multiple="multiple" /><br />
        <input type="file" name="multiple_test[]" multiple="multiple" /><br />
        <input type="file" name="multiple_test[]" multiple="multiple" />
    </p>

    <input type="submit" value="Загрузить" />
</form>

До

Array
(
    [simple_test] => Array
        (
            [name] => test.png
            [type] => image/png
            [tmp_name] => ...
            [error] => 0
            [size] => 2440
        )

    [multiple_test] => Array
        (
            [name] => Array
                (
                    [0] => test1.png
                    [1] => test2.png
                    [2] => test3.png
                )

            [type] => Array
                (
                    [0] => image/png
                    [1] => image/png
                    [2] => image/png
                )

            [tmp_name] => Array
                (
                    [0] => ...
                    [1] => ...
                    [2] => ...
                )

            [error] => Array
                (
                    [0] => 0
                    [1] => 0
                    [2] => 0
                )

            [size] => Array
                (
                    [0] => 2440
                    [1] => 2440
                    [2] => 2440
                )

        )

)

После

Array
(
    [simple_test] => Array
        (
            [name] => test.png
            [type] => image/png
            [tmp_name] => ...
            [error] => 0
            [size] => 2440
        )

    [multiple_test] => Array
        (
            [0] => Array
                (
                    [name] => test1.png
                    [type] => image/png
                    [tmp_name] => ...
                    [error] => 0
                    [size] => 2440
                )

            [1] => Array
                (
                    [name] => test2.png
                    [type] => image/png
                    [tmp_name] => ...
                    [error] => 0
                    [size] => 2440
                )

            [2] => Array
                (
                    [name] => test3.png
                    [type] => image/png
                    [tmp_name] => ...
                    [error] => 0
                    [size] => 2440
                )

        )

arr::unhtml()

Синоним str::unhtml() для массивов.

arr::html()

Синоним str::html() для массивов.

arr::trim()

Вырезает все пробелы в начале и конце значений массива.

Пример

$test = array(' Один ', '                    Два', '   Много           ');
print_r(arr::trim($test));

/* Array
(
    [0] => Один
    [1] => Два
    [2] => Много
) */

arr::export()

Экспорт массива в указанный файл.

Пример

$test = array('Один', 'Два', ' Много');
arr::export('test1.php', $test);

/* <?php
return array (
  0 => 'Один',
  1 => 'Два',
  2 => ' Много',
); */

$test = array('Один', 'Два', ' Много');
arr::export('test2.php', $test, 'var');

/* <?php
$var = array (
  0 => 'Один',
  1 => 'Два',
  2 => ' Много',
); */

arr::assoc()

Превращает одномерный массив в многомерный.

Пример

$test = array(
    'key.value1' => 'Value #1',
    'key.value2' => 'Value #2',
    'key' => array(
        'value3' => 'Value #3',
        'sub.test' => 'Value of Sub Test'
    ),
    'key\.with_dot' => 'Slashing dot'
);
print_r(arr::assoc($test));

/* Array
(
    [key] => Array
        (
            [value1] => Value #1
            [value2] => Value #2
            [value3] => Value #3
            [sub] => Array
                (
                    [test] => Value of Sub Test
                )

        )

    [key.with_dot] => Slashing dot
) */

arr::flat()

Превращает многомерный массив в одномерный.

Пример

$test = array(
    'key' => array(
        'value1' => 'Value #1',
        'value2' => 'Value #2',
        'value3' => 'Value #3',
        'sub' => array(
            'test' => 'Value of Sub Test'
        )
    ),
    'key.with_dot' => 'Slashing dot'
);
print_r(arr::flat($test));

/* Array
(
    [key.value1] => Value #1
    [key.value2] => Value #2
    [key.value3] => Value #3
    [key.sub.test] => Value of Sub Test
    [key\.with_dot] => Slashing dot
) */

arr::tree()

Превращает многомерный массив в одномерный. Данный метод создан исключительно для работы с результатами DbSimple.

arr::json()

Обёртка функции json_encode() дополненная поддержкой апострофов (').

arr::merge()

Обьеденение двух и более массивов любой вложенности.

Пример

print_r(arr::merge($array1, $array2 [, $arrayN ]));

arr::filter()

Фильтрует $array1 по ключам $array2.

Пример

$array1 = array(
    'key1' => 'Value #1',
    'key2' => 'Value #2',
    'key3' => 'Value #3',
    'key4' => 'Value #4',
    'key5' => 'Value #5',
);
$array2 = array('key1', 'key3', 'key5');

print_r(arr::filter($array1, $array2));

/* Array
(
    [key1] => Value #1
    [key3] => Value #3
    [key5] => Value #5
) */

arr::rand()

Получает N число значений из массива в случайном порядке. По умолчанию N равно еденице.

Пример

$test = array(
    'key1' => 'Value #1',
    'key2' => 'Value #2',
    'key3' => 'Value #3',
    'key4' => 'Value #4',
    'key5' => 'Value #5',
);
print_r(arr::rand($test, 3));

/* Array
(
    [key5] => Value #5
    [key1] => Value #1
    [key2] => Value #2
) */