#php #arrays #foreach
#php #массивы #foreach
Вопрос:
У меня есть следующий массив:
$cards = array();
foreach($cardList as $card) {
if ($card->getIsActive()) {
$myValue = 'my_value';
$cards[] = $card->getData(); // need to add $myValue to $card data
}
}
$result = array(
'cards' => $cards
);
echo json_encode($result);
Как бы я мог добавить $myValue
в $card->getData()
, чтобы оно появилось в моем $result
?
Комментарии:
1. Как именно этот вопрос является дубликатом того вопроса?
2. Потому что они спрашивают, как разобрать JSON с помощью PHP @Martin
3. @JayBlanchard Я немного отредактировал свой вопрос, чтобы, надеюсь, прояснить его. Я могу проанализировать JSON, меня больше интересует, как добавить значение к существующему массиву данных, чтобы его можно было проанализировать с помощью json.
4. Вы могли бы поместить его в массив.
5. В основном, что вам нужно, так это:
$card['my_value'] = $myValue
внутри цикла
Ответ №1:
Один из методов заключается в добавлении значения в правильную часть объекта.
$cards = [];
foreach($cardList as $card) {
if ($card->getIsActive()) {
$myValue = 'my_value';
/***
* Add the data to the object
***/
$card->addData($myValue);
$cards[] = $card->getData(); // need to add $myValue to $card data
/***
* You do NOT need to remove this added data because $card is
* simply a COPY of the original object.
***/
}
}
Существует множество возможных методов, в зависимости от того, какие ограничения у вас есть на то, как вы можете читать данные….
Комментарии:
1. Спасибо! В итоге я добавлял
$card['my_value'] = $myValue
раньше$card->getData()
, но это тоже сработало!