PHP:如何将一个数字拆分为多个字符串


PHP: How to split a number to multiple strings

我想在PHP中将一个长数字拆分为多个字符串。我得到了这个:

<?php
$this = 020420151230;
?>

我想得到这个结果:

//output:
    $this['day'] = 02;
    $this['month'] = 04;
    $this['year'] = 2015;
    $this['hour'] = 12;
    $this['minute'] = 30;

你能给我提供帮助和建议吗?我应该使用哪个功能?

忘记拆分和提取部分内容,如果格式始终保持不变,则使用已有的简洁日期-时间函数:)

<?php
$date = DateTime::createFromFormat('dmYHi', '020420151230');
echo $date->format('Y-m-d H i');     
?> 

Fiddle

现在请不要问如何提取单个值,因为您可以轻松地:)

如果您想将其作为尝试此操作的数组,

<?php
$date = DateTime::createFromFormat('dmYHi', '020420151230');
$array = array('day'=>$date->format('d'),'month'=>$date->format('m'),'year'=>$date->format('Y'),'hour'=>$date->format('H'),'minute'=>$date->format('i')); 
print_r($array);
?> 

020420151230它本身是一种日期时间格式,因此您可以直接使用php函数

代码

输出

Array
(
    [day] => 02
    [month] => 04
    [year] => 2015
    [hour] => 12
    [minute] => 30
)

您可以使用preg_match函数。

$date = '020420151230';
preg_match('~^(?<day>'d{2})(?<month>'d{2})(?<year>'d{4})(?<hour>'d{2})(?<minute>'d{2})$~', $date, $match);
print_r($match);

试试这个:

<?php
 $datetime = "020420151230"; 
 $dd = substr($datetime,0,2);
 $mm = substr($datetime,2,2);
 $yyyy = substr($datetime,4,4);
 $hh = substr($datetime,8,2);
 $MM = substr($datetime,10,2);
 echo $this['day'] = $dd;     //02
 echo $this['month'] = $mm;   //04
 echo $this['year'] = $yyyy;  //2015
 echo $this['hour'] = $hh;    //12
 echo $this['minute'] = $MM;  //30
?>