Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Преобразование многомерного массива в одномерный на PHP

02.11.2021 | Категория: Web-мастеру и не только | Автор: ManHunter
Как гласит японская мудрость: "Даже если меч понадобится один раз в жизни, носить его нужно всегда". Следующий трюк как раз из этой серии. А именно, преобразование многомерного массива в одномерный.

Делается все при помощи стандартного класса RecursiveIteratorIterator, который берет на себя извлечение данных из многомерного массива, и функции iterator_to_array, которая преобразует эти данные в одномерный массив. Код будет выглядеть следующим образом:
  1. // Исходный многомерный массив
  2. $multi_array=array(
  3.     array('first',1,2,3),
  4.         'A'=>array(
  5.             'ZYXEL'=>array('banana','apple',7,'gnome'),
  6.             7=>array('a','b','c'),
  7.             'ROBOTIX'=>array('2400','3200','8000'),
  8.         ),
  9.     'INTEL' => array(
  10.         0=>array(8,'AMD'),
  11.         1=>array(
  12.             'groups' => array(
  13.                 array('metallica','accept','kiss'),
  14.                 'kurt'
  15.             )
  16.         )
  17.     )
  18. );
  19.  
  20. $iterator=new RecursiveIteratorIterator(new RecursiveArrayIterator($multi_array));
  21. $one_array=iterator_to_array($iteratorfalse);
  22. print_r($one_array);
На входе многомерный массив с совершенно разнобойными элементами и ключами. На выходе получаем одномерный массив, включающий в себя все элементы многомерного массива.

Array
(
    [0] => first
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => banana
    [5] => apple
    [6] => 7
    [7] => gnome
    [8] => a
    [9] => b
    [10] => c
    [11] => 2400
    [12] => 3200
    [13] => 8000
    [14] => 8
    [15] => AMD
    [16] => metallica
    [17] => accept
    [18] => kiss
    [19] => kurt
)

На моей многолетней практике такая задача возникала всего один раз. Если вам когда-нибудь пригодится мое решение, то буду только рад.

Просмотров: 1128 | Комментариев: 0

Как получить размер изображения WebP на PHP

22.09.2021 | Категория: Web-мастеру и не только | Автор: ManHunter

Как получить размер изображения WebP на PHP

Столкнулся с ситуацией, что PHP-шная функция для получения размера изображения GetImageSize возвращает нулевые значения при попытке обработать картинки WebP. При этом поддержка WebP в PHP частично имеется. Пришлось все делать самостоятельно.

Читать статью целиком »
Просмотров: 1723 | Комментариев: 4

Вызов защищенных и приватных методов класса

11.07.2021 | Категория: Web-мастеру и не только | Автор: ManHunter

Вызов защищенных и приватных методов класса

Продолжение предыдущей статьи, где мы меняли значения приватных свойств класса. Сегодня мы пойдем дальше и будем вызывать приватные методы класса. Как и в случае с приватными свойствами, рекомендации по использованию этого трюка прежние: никогда и ни при каких условиях так не делайте.

Читать статью целиком »
Просмотров: 811 | Комментариев: 0

Изменение защищенных и приватных свойств класса

24.06.2021 | Категория: Web-мастеру и не только | Автор: ManHunter

Изменение защищенных и приватных свойств класса

Кто хоть раз пробовал ООП в PHP, знает, что при попытке записать что-то в защищенные или приватные свойства класса, интерпретатор выдаст ошибку. Это хорошо и правильно, приватные и защищенные свойства для того и сделаны именно такими. Но в PHP есть средства, с помощью которых можно обойти это правило и поменять эти свойства извне класса. Сначала позвольте дать вам три совета по использованию этих средств. Во-первых, никогда так не делайте. Во-вторых, никогда так не делайте. Ну и в-третьих, никогда так не делайте. Потому что на практике нет и быть не может ситуаций, когда это может действительно понадобиться, а огрести проблем - как нечего делать. Короче, я вас предупредил.

Читать статью целиком »
Просмотров: 1526 | Комментариев: 0

Определение ближайшего цвета в палитре на PHP

21.05.2021 | Категория: Web-мастеру и не только | Автор: ManHunter

Определение ближайшего цвета в палитре на PHP

Один из наиболее эффективных способов уменьшения размера картинок - оптимизация используемых цветов. При размере палитры в несколько десятков тысяч цветов, многие из оттенков отличаются настолько незначительно, что для человеческого глаза такая разница вообще незаметна. Оставив в палитре только оптимальные цвета, надо пройтись по изображению и заменить цвет каждой точки на ближайший цвет из палитры.

Читать статью целиком »
Просмотров: 1078 | Комментариев: 3

Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.08 сек. / MySQL: 3 (0.0053 сек.) / Память: 4.5 Mb
Наверх