2015-08-07 4 views
-1

1-Если какой-либо пользователь вводит 1w2d в поле ввода.Как конвертировать будние дни в часы в laravel 4.2?

2-Значение в этом поле ввода должно быть преобразовано в общее количество часов.

3После этого я должен вставить это общее количество часов в базе данных.

4Когда я получу итоговые часы из базы данных, он должен вернуть 1w2d.

Возможные обозначения: есть одно поле ввода, названное как расчетное время, когда пользователь может ввести 1w2d или 1W2D. Это должно быть преобразовано в общее количество часов. После этого я должен отправить его в базу данных.

* Я чувствую себя беспомощным. Я не знаю, что делать. Я знаю, как конвертировать неделю в часы, но не знаю, как конвертировать 1w2d в часы.

+0

Вы можете обновить свой пост со всеми возможными нотации в вашем поле ввода? Я думаю, что это действительно странный способ ввода данных. Невозможно использовать datepicker или что-то вроде '' и ''? –

+0

Или, возможно, введите маску ввода, которую вы можете просто разделить. Btw. это не имеет никакого отношения к Ларавелю в частности. – Namoshek

+0

Я упомянул о возможной нотации в разделе –

ответ

1
<?php 

function convertWDHtoHours($data) { 

    preg_match_all('/(\d+[wW]+|\d+[dD]+|\d+[hH]+)/', $data, $matches); 
    $hours = 0; 
    foreach($matches[0] AS $match) { 
    switch(true) { 
     case preg_match('/\d+[hH]+/', $match) : 
     $hours += (int)$match; 
     break; 

     case preg_match('/\d+[dD]+/', $match) : 
     $hours += (int)$match*24; 
     break; 

     case preg_match('/\d+[wW]+/', $match) : 
     $hours += (int)$match*24*7; 
     break; 
    } 
    } 
    return $hours; 
} 

print "23h => ".convertWDHtoHours('23h')."<br/>"; 
print "20d => ".convertWDHtoHours('20d')."<br/>"; 
print "2W => ".convertWDHtoHours('2W')."<br/>"; 
print "1D2h => ".convertWDHtoHours('1D2h')."<br/>"; 
print "1w2H => ".convertWDHtoHours('1w2H')."<br/>"; 
print "1w2d => ".convertWDHtoHours('1w2d')."<br/>"; 

?> 

Вот результат:

http://codepad.viper-7.com/Ioj02x

+0

ok.I попробую это –

+0

@HimanshuDwivedi, как дела? Работал? – num8er

+0

его работая спасибо –

Смежные вопросы