[英]Create a new associative array from a single-element associative array containing related comma-separated values
我正在嘗試從一個單元素關聯數組創建一個新的數組結構,其中鍵和值都是帶有相關數據的逗號分隔字符串。
我應該使用哪個數組 function 來執行此操作?
輸入數組:
[
"id,zip,state,city,county,territory,price" => "1,90001,CA,Los Angeles,Los Angeles,Orange CA,40"
]
所需的 output:
[
"id" => 1,
"zip" => 90001,
"state" => "CA",
"city" => "Los Angeles",
"county" => "Los Angeles",
"territory" => "Orange CA",
"price" => 40
]
"id,zip,state,city,county,territory,price"
是一個鍵,不是多個鍵。 所以你必須把它們分開。
$old = ["id,zip,state,city,county,territory,price" => "1,90001,CA,Los Angeles,Los Angeles,Orange CA,40"];
$keys = explode(',', $key = array_key_first($old));
$values = explode(',', $old[$key]);
$new = array_combine($keys, $values);
給
array(7) {
["id"]=>
string(1) "1"
["zip"]=>
string(5) "90001"
["state"]=>
string(2) "CA"
["city"]=>
string(11) "Los Angeles"
["county"]=>
string(11) "Los Angeles"
["territory"]=>
string(9) "Orange CA"
["price"]=>
string(2) "40"
}
幾乎與@Markus 相同,但key()
可用於更多 php 版本。
代碼:(演示)
$array = [
"id,zip,state,city,county,territory,price" => "1,90001,CA,Los Angeles,Los Angeles,Orange CA,40"
];
$key = key($array);
var_export(
array_combine(
explode(',', $key),
explode(',', $array[$key])
)
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.