2016-12-20 1 views
1

Я хотел бы преобразовать список массивов в псевдоним поля. Пример:PHP преобразовать значение массива массива в поле aliase

$keymap = ['id' => projectId, 'name' => projName]; 

Затем из этого массива дал, я хочу сделать это новообращенного:

$keymap = ['id as projectId', 'name as projName']; 

Моя цель, у меня есть ответ в формате JSON с API, то я хочу, чтобы изменить имя ключа каждого ответа на основе $ keymap.

Любая идея как? Заранее спасибо

ответ

1

Что-то вроде следующего?

foreach($keymap as $key=>$value 
{ 
    $new_array[] = $key.' as '.$value; 
} 
print_r($new_array); 
+0

Спасибо, просто достаточно! – Cris

2
<?php 
$keymap = ['id' => projectId, 'name' => projName]; 
$keymap2 = []; 
foreach($keymap as $k => $v){ 
    $keymap2[] = $k.' as '.$v; 
} 
$keymap = $keymap2; 

// Вы должны получить этот $keymap = ['id as projectId', 'name as projName'];

+0

Ваш результат скрипта напечатает такие индексы, как [0], [1]. Пожалуйста, обратите внимание. благодаря – sAcH

1

Вы можете достичь этого, используя следующий путь:

<?php 
$keymap = ['id' => '123', 'name' => '456']; 
$newArr = []; 
foreach ($keymap as $key => $value) { 
    $newArr[]=$key." as ".$value; 
} 
echo json_encode($newArr); 
//output: ["id as 123","name as 456"] 

?> 
2

альтернатива ...

$keymap = ['id' => projectId, 'name' => projName]; 
    function transform(&$item, $key){ 
     $item = $key. ' as '.$item; 
    } 
    array_walk($keymap, 'transform');