[英]Make Pairwise array from comma separated string
假設我有一個逗號分隔的字符串,如下所示:
1,Sunday,2,Monday,3,Tuesday,4,Wednesday,5,Thursday,6,Friday,7,Saturday
如何在PHP中使其成對排列,如下所示-
array
(
[1] => Sunday,
[2] => Monday,
[3] => Tuesday,
[4] => Wednesday,
[5] => Thursday,
[6] => Friday,
[7] => Saturday,
);
簡單的答案(需要PHP> = 5.5.0):如果不需要在每個值的末尾添加逗號
$string = '1,Sunday,2,Monday,3,Tuesday,4,Wednesday,5,Thursday,6,Friday,7,Saturday';
$data = array_chunk(
explode(',', $string),
2
);
$newArray = array_combine(
array_column($data, 0),
array_column($data, 1)
);
var_dump($newArray);
如果確實需要結尾逗號,則可以添加:
array_walk(
$newArray,
function(&$value) {
$value .= ',';
}
);
如果您擁有諸如工作日和工作日數字之類的靜態數據,那么僅使用靜態數組無疑是最簡單的:
$weekdays = array(
1 => 'Sunday',
2 => 'Monday',
3 => 'Tuesday',
4 => 'Wednesday',
5 => 'Thursday',
6 => 'Friday',
7 => 'Saturday',
);
如果必須解析逗號分隔的字符串,則可以使用以下命令:
$string = '1,Sunday,2,Monday,3,Tuesday,4,Wednesday,5,Thursday,6,Friday,7,Saturday';
$parts = explode(',', $string);
$weekdays = array();
for ($i = 0; $i < count($parts); ) {
$weekdays[$parts[$i]] = $parts[++$i];
++$i;
}
print_r($weekdays);
輸出:
Array
(
[1] => Sunday
[2] => Monday
[3] => Tuesday
[4] => Wednesday
[5] => Thursday
[6] => Friday
[7] => Saturday
)
它不是很漂亮,但是可以完成:)。
這會為您工作。
$string = '1,Sunday,2,Monday,3,Tuesday,4,Wednesday,5,Thursday,6,Friday,7,Saturday.';
$dtd = explode(',', $string);
$array = array();
$i = 1;
foreach ($dtd as $key => $value){
if($key % 2 == 1){
$array[$i++] = $value;
}
}
print_r($array);//Array ( [1] => Sunday [2] => Monday [3] => Tuesday [4] => Wednesday [5] => Thursday [6] => Friday [7] => Saturday. )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.