Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: new SplFixedArray как добавить в???

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ytrewq123
Отправлено: 18 Декабря, 2016 - 17:06:25
Post Id


Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Здравствуйте!
Вопрос. Как добавить сразу несколько элементов в фиксированный массив.
$maass = new SplFixedArray(5);
Попробовал. array_splice. Он говорит неа, у тебя объект. По одному да $maass[3] ='INFO';
А как несколько сразу не подскажите.
 
 Top
T1grOK
Отправлено: 18 Декабря, 2016 - 18:05:10
Post Id



Частый гость


Покинул форум
Сообщений всего: 129
Дата рег-ции: Июнь 2013  


Помог: 7 раз(а)




Никак. Только "ручками".


-----
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
 
 Top
teddy
Отправлено: 18 Декабря, 2016 - 18:18:23
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




Если объект уже создан, то не выйдет. Но при создании объекта есть возможность сразу инициализировать его несколькими элементами.
PHP:
скопировать код в буфер обмена
  1.  
  2. $data = ['a', 1, new stdclass];
  3. $fixed = \SplFixedArray::fromArray($data);
  4. var_dump($fixed);
  5.  

Если хочется снова добавить пачку, присобачить к уже созданному SplFixedArray, можно так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $newFixed = \SplFixedArray::fromArray(array_merge($fixed->toArray(), [1,2,3]));
  3.  

Но этот класс нужен для улучшения производительности(скорость, более экономное потребление памяти на больших данных), а такими финтами вы скорее потеряете чем выйграете, если конечно вы не сохраняете этот объект где нибудь для использования его в последующих запросах без подобных финтов.
 
 Top
ytrewq123
Отправлено: 18 Декабря, 2016 - 22:22:46
Post Id


Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Спасибо. ну ясненько.
teddy пишет:
Но этот класс нужен для улучшения производительности

Это я как бы знаю. Поэтому и пробовал всякое.
Будем смотреть, думать размышлять. Что как и куда.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB