2015-04-02 252 views
0

我想拆分一個很長的數字,我在PHP中使用了多個字符串。 我得到這個:PHP:如何將一個數字拆分爲多個字符串

<?php 
$this = 020420151230; 
?> 

我想要得到這樣的結果:

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

能否請你幫和我應該使用的建議,其功能呢?

+3

那你試試?聽起來很簡單,不是嗎? – 2015-04-02 09:37:20

+1

http://php.net/substr – Steve 2015-04-02 09:39:37

回答

-1

試試這個:

<?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 
?> 
+0

@lowmatic:讓我知道它是否對你有用:) – Priyank 2015-04-02 10:04:22

7

忘記分裂和它的提取部分,如果格式總是保持相同,則使用已經有用於該目的:)

<?php 

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

Fiddle

現在整齊的日期時間函數,請不要問你怎麼能提取個人價值觀,因爲你很容易就可以:)

0

如果你想要它作爲陣列,試試這個,

<?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它的自我datetime格式,所以你可以使用PHP函數直接

Code

輸出

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

你可以使用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); 
相關問題