所以,我有一個想要“轉換”的數組(只添加該數組的一些值,到具有不同鍵的不同數組)。最好的方法是什么?我目前有一種方法可以做到這一點,但我認為有更好的方法來做到這一點。例如:一個 API 返回以下內容:[ 'id' => 1, 'title' => 'Response title', 'message' => 'Here is a message', 'clueless' => true, 'need_help' => true]但是對于我的前端,我需要這個:[ 'task_id' => 1, 'text' => 'Response title', 'message' => 'Here is a message']請注意,這些值是相同的,但只有它們的鍵不同。另外,有些值我不需要。我目前的方法如下所示:public function toSpecificFormat($data) { return [ 'task_id' => $data['id'], 'text' => $data['title'], 'message' => $data['message'] ];}
1 回答

桃花長相依
TA貢獻1860條經驗 獲得超8個贊
根據您真正需要重寫的字段數量,您可能希望創建如下所示的鍵映射:
$src = [
'id' => 1,
'title' => 'Response title',
'message' => 'Here is a message',
'clueless' => true,
'need_help' => true
];
$map = ['id' => 'task_id',
'title' => 'text',
'message' => 'messsage',
];
$result = [];
foreach($map as $from => $to) {
$result[$to] = $src[$from];
}
print_r($result);
但是,如果你有更多的鍵來“重寫”,那么這種方法比手動復制更靈活,但是如果一個人只有幾個(比如2或3個),那么OP的代碼是完全足夠的,在我的答案中顯示的方式只是一個明顯的過度工程。
- 1 回答
- 0 關注
- 124 瀏覽
添加回答
舉報
0/150
提交
取消