у меня есть это:Замена значения в ассоциативном массиве?
foreach ($books as $book)
{
$catname = get_category_name($book['category']);
$book['category'] = $catname;
}
print_r($books);
Сейчас $book['category']
представляет собой целое значение, которое ссылается на идентификатор строки в таблице категорий в базе данных (например, ID = 1) фантастики. Как вы можете догадаться, get_category_name($id)
берет идентификатор и находит правильную строку и возвращает название категории. Функция работает правильно, и если i print_r($catname)
в foreach
печатает названия категорий, как и следовало ожидать.
У меня есть ассоциативный массив с именем $books
, который заполняется из каждой строки в таблице книг в базе данных. То, что я хочу сделать, - принять целочисленное значение категории каждого элемента книги и использовать get_category_name($id)
, чтобы заменить это целочисленное значение на фактическое имя категории.
Проблема, с которой я сталкиваюсь, заключается в том, что я не могу заменить целочисленное значение, которое уже существует в $book['category']
, с фактическим именем категории, которое находится в $catname
. Когда я использую print_r($books)
, чтобы узнать, были ли внесены изменения в foreach
, они подтверждают, что изменения не производятся.
Как это исправить?
Благодарю вас. Сейчас он работает! –
+1 Использование по ссылке :-) – Darren