В настоящее время я эта array
структуры, которую я позже конвертировать в JSON
:Append массива к конкретному элементу массива
Array
(
[response] => Array
(
[timestamp] => 1391457939
[crimes] => Array
(
[year] => 6-2013
)
)
)
Я хочу знать, если есть способ, чтобы добавить данные массива в выбранном узел массива без указав узел корневого массива. Например, я хочу добавить следующее array
к crimes
массив сверху:
array(
"Robbery" => 123,
"Burglary" => 456
);
Так оно и должно выглядеть следующим образом:
Array
(
[response] => Array
(
[timestamp] => 1391457939
[crimes] => Array
(
[year] => 6-2013
[Robbery] => 123 //Appended Data
[Burglary] => 456 //Appended Data
)
)
)
Функция:
public function addDataToJSONResp($parentArrayName, $arrayData){
//jsonResponse is the main array which currently holds the array data which will be converted into JSON at a later step.
if(isset($this->jsonResponse)){
//Do processing here
//Search for parent array node in jsonResponse.
//append $arrayData to jsonResponse if it finds the parent array element.
}else{
//error
}
}
используется функция :
private function addDataToJSONResp($nodeName, &$array, $data) {
foreach ($array as $key => $val) {
if ($key == $nodeName) {
foreach($data as $k => &$v){
$array[$key][$k] = $v;
}
}else if(is_array($val)){
$this->addDataToJSONResp($nodeName, $val, $data);
}
}
}
Вы должны указать структуру _somehow_. Каковы бизнес-правила, чтобы решить, где добавить данные? – jterry
У меня будет функция, которая позволит пользователю указать родительское имя массива, к которому они хотят добавить данные. – user3166216
@ user3166216 Покажите нам подпись этой функции, которую вы сейчас упоминаете ... – crush