簡體   English   中英

在array_map php中添加鍵值對

[英]add key value pair in array_map php

[{
    "id": "000060000000000071964708\/17\/201309:55:00"
}, {
    "column": "pcchrgcod"
}]

這是我的選擇查詢和添加新的密鑰對。

我想要的是:

[{
    "id": "000060000000000071964708\/17\/201309:55:00",
    "column": "pcchrgcod"
}]

我試過的是:

while ($selected_row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    $rows[] =  array_map('utf8_encode', $selected_row);
    array_push($rows, array('column' => $column));
}

在我的解決方案中,我使用了array_push但是它沒有返回我想要的輸出。

如何解決呢?

輸出是json_encode結果

UPDATE

該數組來自選擇查詢。 在該查詢的返回行上,我想添加另一對鍵值。 這就是為什么我要添加另一個密鑰對值的原因

Additional Question

說這個查詢

Select column AS colunname from table

從這個查詢中,我想要columnname = 'column_name'的值嗎?

您可以使用array_walk來實現,請嘗試以下代碼,

$str = '[{
    "id": "000060000000000071964708\/17\/201309:55:00"
}, {
    "column": "pcchrgcod"
}]';
$arr = json_decode($str, true); // true => making it normal array 
$result = []; // output array
array_walk($arr, function ($item, $key) use (&$result) { // passing address of result
    $result[key($item)] = $item[key($item)]; // key => first key of array
});
print_r($result); // output of the snippet

這是工作代碼

編輯 :根據要求,請檢查以下代碼段。

while ($selected_row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    $temp =  array_map('utf8_encode', $selected_row);
    $temp_row = ['id'=> $temp['id'], 'column' => $temp['column']];
    array_push($rows, $temp_row);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM