<?php
$test = '{
"100": {
"name": "Sports",
"contentID": "100"
},
"200": {
"name": "Village",
"contentID": "200"
}
}';
$idWiseData = json_decode($test,true);
$test2 = '[
{
"contentID": "100",
"contentStatus": "active"
},
{
"contentID": "200",
"contentStatus": "active"
},
{
"contentID": "300",
"contentStatus": "active"
}
]';
$allTopics = json_decode($test2,true);
foreach ($allTopics as $key => &$topic) {
$contentInfo = [
'contentStatus' => $topic['contentStatus']
];
$topic['contentName'] = isset($idWiseData[$topic['contentID']]['name']) ? $idWiseData[$topic['contentID']]['name'] : null;
}
echo "<pre>";
print_r($allTopics);
?>
Над кодом работает нормально, я не получаю ожидаемый результат. на самом деле $allTopics
имеет 3 объекта (contentID 100 & 200 и 300). $idWiseData
имеет объект (contentID 100 & 200). Я хочу взять name
значение из $ idWiseData и заменить на $ allTopics на основе contentID. У contentID 300 нет имени, поэтому этот объект не должен приходить.
Ожидаемый результат
Array
(
[0] => Array
(
[contentID] => 100
[contentStatus] => active
[contentName] => Sports
)
[1] => Array
(
[contentID] => 200
[contentStatus] => active
[contentName] => Village
)
)
Я получаю вывод
Array
(
[0] => Array
(
[contentID] => 100
[contentStatus] => active
[contentName] => Sports
)
[1] => Array
(
[contentID] => 200
[contentStatus] => active
[contentName] => Village
)
[2] => Array
(
[contentID] => 300
[contentStatus] => active
[contentName] =>
)
)
Пожалуйста, обновите мой код, пожалуйста.