Как изменить числовое значение ключа массива на другое значение - PullRequest
0 голосов
/ 12 сентября 2011

Я пытаюсь взять данные, которые мне возвращаются из вызова json curl, и изменить ключи, чтобы я мог более точно сопоставить их с вызовом базы данных.

Ниже приведены данные, которые я получаю обратно,

Array ( [0] => Array ([0] => Array ([toolbar_id] => thematrix [name] => Matrix)) [1] => Array ([0] => Array ([toolbar_id] => neonlights [name] => NEON Lights))

Область, выделенная жирным шрифтом, - это ключ, который я хочу изменить, чтобы он соответствовал значению ['toolbar_id'];

Любая помощь очень ценится.

Ответы [ 2 ]

1 голос
/ 12 сентября 2011

Немного странно, может быть что-то более лаконичное, но это должно сработать.

$newArr = array();
foreach ($arrReturn AS $key => $item)
{
    $newArr[$item[0]['toolbar_id']] = $item;
}
$arrReturn = $newArr;
unset($newArr);
0 голосов
/ 12 сентября 2011

Я бы, вероятно, написал функцию преобразования, поэтому что-то вроде (без тестов для isset () и тому подобного осталось в качестве упражнения для представления :);

function convert ( $arr, $items ) {
   $ret = array () ;
   foreach ( $arr as $idx => $item )
      $ret[$items[$idx]] = $item ;
   return $ret ;
}

$new_array = convert ( $your_array_here, array ( 
   'toolbar_id', 'other_id', 'something_else' 
) ) ;
...