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]   

> Без описания
Webtest
Отправлено: 13 Сентября, 2014 - 18:26:39
Post Id


Посетитель


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


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




Здравствуйте. Уже час наверно не могу придумать как сделать такое, подскажите, если кто знает:
Есть многомерный массив:
CODE (htmlphp):
скопировать код в буфер обмена
  1. arrAll = (
  2. [1] => array (
  3.     [id] => 1
  4.     [url] => 0
  5. )
  6. [2] => Array (
  7.     [id] => 2
  8.     [url] => 0
  9. )

И есть другой массив:
CODE (htmlphp):
скопировать код в буфер обмена
  1. arrUrl = array (
  2.     [url] => url1
  3.     [url] => url2
  4. )

Как сделать так, чтобы url в многомерном массиве поменялись на те, что в одномерном?
Т.е получится такое:
CODE (htmlphp):
скопировать код в буфер обмена
  1. arrAll = (
  2. [1] => array (
  3.     [id] => 1
  4.     [url] => url1
  5. )
  6. [2] => Array (
  7.     [id] => 2
  8.     [url] => url2
  9. )

Что-то мне кажется, что решить это просто, только не могу додуматься как.

(Отредактировано автором: 13 Сентября, 2014 - 18:28:49)

 
 Top
dcc0
Отправлено: 13 Сентября, 2014 - 18:39:27
Post Id


Участник


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


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




А это так можно теперь, чтобы ключи в массиве совпадали?
PHP:
скопировать код в буфер обмена
  1.  
  2. [url] => url1
  3.   [url] => url2
  4.  


-----
Март 2021. Бросил программирование
 
 Top
Webtest
Отправлено: 13 Сентября, 2014 - 18:41:29
Post Id


Посетитель


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


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




dcc0, ух, перепутал, там тоже многомерный массив такого вида:
Array
(
[0] => Array
(
[url] => url1
)

[1] => Array
(
[url] => url2
)

(Добавление)
Что-то я затупил, решение в 4 строчки:
PHP:
скопировать код в буфер обмена
  1. while ($i < $countArr) {
  2.         $getText[$i]['url'] = $getUrl[$i]['url'];
  3.         $i++;
  4. }


(Добавление)
Подскажите еще как сделать такое, а то что-то не могу понять:
Есть массив 1:
PHP:
скопировать код в буфер обмена
  1. $pages = array(
  2.         'title' => array('test1', 'test2', 'test3'),
  3.         'url' => array('0', '0', '0'),
  4.         'text' => array('text1', 'text2', 'text3')
  5. );

И массив 2:
PHP:
скопировать код в буфер обмена
  1. $urls = array(
  2.         'title' => array('test2', 'test3', 'test1'),
  3.         'url' => array('url2', 'url3', 'url1'),
  4.         'text' => array('text2', 'text3', 'text1')
  5. );

Я сделал так, чтобы урлы $pages были равны $urls:
PHP:
скопировать код в буфер обмена
  1. $countArr = count($pages);
  2. $i = 0;
  3. while ($i < $countArr) {
  4.         $pages[$i]['url'] = $urls[$i]['url'];
  5.         $i++;
  6. }

НО тут оказалась проблема, что массив $urls перемешан не в том порядке, и урлы отображаются не там где надо.
Собственно, как сделать еще и, как бы, сортировку. Т.е. чтобы урлы были на своих местах.
(Добавление)
Уже решил Улыбка
PHP:
скопировать код в буфер обмена
  1. foreach ($getText as &$text) {
  2.         foreach ($getUrl as $url) {
  3.                 if ($text['date_add'] == $url['date_add']) {
  4.                         $text['url'] = $url['url'];
  5.                 }
  6.         }
  7. }

(Отредактировано автором: 13 Сентября, 2014 - 20:39:09)

 
 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