Поиск и замена элементов в массиве

93
11 апреля 2021, 17:10

есть исходный массив $people:

 Array
 (
   [1] => Array
    (
        [0] => Вася
        [1] => qwerty
    )
[2] => Array
    (
        [0] => Федя
        [1] => asdf
    )
 )

и есть массив с заменами $replace:

Array
(
[qwerty] => Сидоренко
[asdf] => Пупкин
[аропао] => Константинопольский
[уншгнг] => Иванов
)

как сделать замену значений "qwerty" на "Сидоренко", "asdf" на "Пупкин" и так далее? Я понимаю что надо делать через foreach, но не получается. Делаю вот так:

foreach($people as &$value){
  if(isset($replace[$value])){
  $value = $replace[$value];
}

}

получаю ошибку: "Illegal offset type in isset or empty".

Answer 1

$value - это массив, $value[1] - второй ключ массива:

foreach($people as &$value){
  if(isset($replace[$value[1]])){
      $value[1] = $replace[$value[1]];
  }
}
READ ALSO
Как получить папку письма IMAP?

Как получить папку письма IMAP?

Собственно интересуют входящие сообщения, которые не попали ни в одну папку и лежат в корневой INBOXСмотрел заголовки и тело письма, там нет...

95
Выбор точки реализации метода в связных данных

Выбор точки реализации метода в связных данных

Есть связные данные многие-многие, многие-один1) Многие-один

114
Как сделать класс модера php

Как сделать класс модера php

Заказал сайт, в нем есть файл класса админ, я не профи и не знаю как сделать класс модераРешил просто вырезать некоторые функции админа, вот...

112
Входит ли дата во временной интервал?

Входит ли дата во временной интервал?

Имеется дата 2019-07-01 16:22:01

100