在每个字符串列表元素后添加逗号和引号

时间:2017-12-04 00:24:16

标签: php explode implode

我有一个这样的清单:

$list = 
"6/17/2017 21:17
6/17/2017 21:14
6/17/2017 21:11
6/17/2017 21:05
6/17/2017 21:03
6/17/2017 20:59
6/17/2017 20:36
6/17/2017 20:35
6/17/2017 20:33";

我需要将该列表转换为数组。我怎样才能做到这一点?我有太多的元素可以手动执行此操作。

结果

$list = array("datetime","datetime");

2 个答案:

答案 0 :(得分:2)

如果项目由新行分隔,您可以执行以下操作:

$items = explode(PHP_EOL, $list);

请注意,这些常量是由PHP核心定义的。更改系统时可能无法正常工作。阅读更多详情here

涵盖所有案例的最佳选择使用此:

$items = preg_split('/\r\n|\r|\n/', $list);

答案 1 :(得分:0)

你所要求的并不完全清楚。

您可以使用preg_split按换行符拆分字符串。看起来好像你想做一些日期时间格式化,所以这里有一个例子,然后将该数组的项目转换为日期时间对象,然后您可以根据您的选择格式化输出。

$list = 
"6/17/2017 21:17
6/17/2017 21:14
6/17/2017 21:11
6/17/2017 21:05
6/17/2017 21:03
6/17/2017 20:59
6/17/2017 20:36
6/17/2017 20:35
6/17/2017 20:33";

$a_list = preg_split('/\R/', $list);

foreach($a_list as $str_date)
    $datetime_list[] = new dateTime($str_date);

foreach($datetime_list as $dateTime)
    echo $dateTime->format("Y-m-d 'H:i:s', \n");

输出:

2017-06-17 '21:17:00', 
2017-06-17 '21:14:00', 
2017-06-17 '21:11:00', 
2017-06-17 '21:05:00', 
2017-06-17 '21:03:00', 
2017-06-17 '20:59:00', 
2017-06-17 '20:36:00', 
2017-06-17 '20:35:00', 
2017-06-17 '20:33:00',