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]   

> Без описания
netclan
Отправлено: 24 Сентября, 2013 - 05:01:48
Post Id



Гость


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


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




Есть массив:
PHP:
скопировать код в буфер обмена
  1. (
  2.     [Иванов] => 3
  3.     [Николаев] => 4
  4.     [Бадулов] => 7
  5.     [Сидоров] => 15
  6.     [Киров] => 41
  7.     [Меньшиков] => 51
  8. )
  9.  

также есть массив массивов:
PHP:
скопировать код в буфер обмена
  1.  
  2. (
  3.     [0] => 0324
  4.     [1] => Николаев
  5. )
  6. (
  7.     [0] => 13424
  8.     [1] => Сидоров
  9. )
  10. (
  11.     [0] => 23242
  12.     [1] => Киров
  13. )
  14. (
  15.     [0] => 323424
  16.     [1] => Меньшиков
  17. )
  18. (
  19.     [0] => 4234234
  20.     [1] => Меньшиков
  21. )
  22.  

собственно вопрос, каким образом можно перебрать значения под массивов и заменить значения ключей под массивов, значениями первого массива, т.е. на выходе хочу получить следующее:
PHP:
скопировать код в буфер обмена
  1.  
  2. (
  3.     [0] => 0324
  4.     [1] => 4
  5. )
  6. (
  7.     [0] => 13424
  8.     [1] => 15
  9. )
  10. (
  11.     [0] => 23242
  12.     [1] => 41
  13. )
  14. (
  15.     [0] => 323424
  16.     [1] => 51
  17. )
  18. (
  19.     [0] => 4234234
  20.     [1] => 51
  21. )
  22.  

Не понял


-----
O_o
 
 Top
netclan
Отправлено: 24 Сентября, 2013 - 09:47:50
Post Id



Гость


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


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




Пытался сделать так:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. $newphrase = str_replace($data[1], $array, $data);
  3.  

, где $data[1] значение из подмассивов которое нужно заменить, $array это первый массив на значения которого требовалось изменить значения первого, а $data второй массив в котором требовалась замена.

На выходе получаю: Notice: Array to string conversion in
и массив:
PHP:
скопировать код в буфер обмена
  1.  
  2. (
  3.     [0] => 0324
  4.     [1] => Array
  5. )
  6. (
  7.     [0] => 13424
  8.     [1] => Array
  9. )
  10. (
  11.     [0] => 23242
  12.     [1] => Array
  13. )
  14. (
  15.     [0] => 323424
  16.     [1] => Array
  17. )
  18. (
  19.     [0] => 4234234
  20.     [1] => Array
  21. )
  22.  

Кто подскажет как исправить?


-----
O_o
 
 Top
IllusionMH
Отправлено: 24 Сентября, 2013 - 10:32:31
Post Id



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


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


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




netclan, причем тут замена в строке? Хоть читайте мануал по функции, прежде чем ее лепить.
PHP:
скопировать код в буфер обмена
  1. foreach($m2 as $m) {
  2.   $m[1] = $m1[$m[1]];
  3. }

Где какой массив не сложно догадаться. Проверку на существование такого элемента в первом массиве добавите самостоятельно

(Отредактировано автором: 24 Сентября, 2013 - 10:34:37)

 
 Top
netclan
Отправлено: 24 Сентября, 2013 - 15:20:48
Post Id



Гость


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


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




Спасибо!


-----
O_o
 
 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