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 :: Разорвать массив

 PHP.SU

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


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

> Без описания
zzzzzz
Отправлено: 23 Ноября, 2013 - 22:19:46
Post Id


Гость


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


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




Здравствуйте.
Есть исходный массив неважно с какими значениями
PHP:
скопировать код в буфер обмена
  1.  
  2.     [title] => ...
  3.     [nid]   => ...
  4.     [show]  => ...
  5.     [main]  => ...
  6.     [test]  => ...
  7.     [body]  => ...
  8. )


Нужно разделить его на два массива где в первом будут ключи=>значения только:
show
test
а во втором все остальные элементы массива.

Хелп ми.
Заранее спасибо
(Добавление)
На данный момент имею свою реализацию, но отчетливо понимаю, что это...
 
 Top
armancho7777777 Супермодератор
Отправлено: 23 Ноября, 2013 - 22:31:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




PHP:
скопировать код в буфер обмена
  1.  
  2. $array1 = array('show' => $array['show'], 'test' => $array['test']);
  3. $array2 = array_diff_assoc($array, $array1);
  4.  
 
 Top
DelphinPRO
Отправлено: 23 Ноября, 2013 - 22:36:43
Post Id



Активный участник


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


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




а зачем array_diff_assoc ?
можно проще

PHP:
скопировать код в буфер обмена
  1. $array = array( ... );
  2. $array1 = array('show' => $array['show'], 'test' => $array['test']);
  3. unset($array['show'], $array['test']);


имеем два массива $array1 и $array


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
armancho7777777 Супермодератор
Отправлено: 23 Ноября, 2013 - 22:41:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




DelphinPRO пишет:
можно проще

Пример выше ничуть не сложнее.
И данные в целости.
 
 Top
zzzzzz
Отправлено: 23 Ноября, 2013 - 22:45:17
Post Id


Гость


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


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




А вот мой Огорчение Печально
PHP:
скопировать код в буфер обмена
  1. $newArray_1 = array();
  2. $newArray_2 = array();
  3.  
  4. foreach( $array as $k => $v ){
  5.  
  6.     if($k == 'show' || $k == 'test' ){
  7.         $newArray_1[ $k ] = $v;
  8.     }
  9.     else{
  10.         $newArray_2[ $k ] = $v;
  11.     }
  12.  
  13. }



Спасибо за помощь

(Отредактировано автором: 23 Ноября, 2013 - 22:46:11)

 
 Top
DelphinPRO
Отправлено: 23 Ноября, 2013 - 23:07:00
Post Id



Активный участник


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


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




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


-----
Чем больше узнаю, тем больше я не знаю.
 
 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