[英]Creating an associative array with keys from a simple indexed array of strings
我有一個字符串數組,其格式為key: value
如下所示:
Array
(
[0] => label: productlabel
[1] => timezone: SDT
[2] => price: 0.2225
[3] => reserve: 60
)
我需要創建一個關聯數組,其關鍵部分是數組元素索引,值部分是數組元素值,如下所示:
Array
(
[label] => productlabel
[timezone] => SDT
[price] => 0.22255
[reserve] => 60
)
有沒有更短的方法或函數可以創建此控件,或者我需要使用基本控制結構手動創建它?
映射陣列 分割上的值:
然后使用array_column()來分配從分裂值和鍵:
$originalArray = [
'label: productlabel',
'timezone: SDT',
'price: 0.2225',
'reserve: 60',
];
$newArray = array_column(
array_map(
function($value) {
return explode(': ',$value);
},
$originalArray
),
1,
0
);
var_dump($newArray);
根據:拆分每個,然后添加到新數組中
foreach($array as $value){ // loop the original array
$split = explode(":",$value); // split values based on : into 2 element array
$array2[$split[0]] = $split[1]; // add to the new array, [key] = [value]
}
您可以創建一個新數組,並在設置$ key和$ value后分割為“:”。
$oldArray = [
'label: productlabel',
'timezone: SDT',
'price: 0.2225',
'reserve: 60',
];
$newArray = [];
foreach($oldArray as $pos) {
list($key, $value) = explode(':', $pos);
$newArray[$key] = $value;
}
如果將:
轉換為=
,則字符串類似於.ini行,因此可以將其視為那樣。
$assoc = parse_ini_string(str_replace(': ', '= ', join("\n", $array)));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.