我对DB的一个csv导入有一个字段值,看起来像'24h 30m'
如何将这个分开两组数字?这是我到目前为止所拥有的
$tasktime = "24h 30m";
$pieces = explode("h ", $tasktime);
echo $pieces[0]; // want this to echo 24
echo $pieces[1]; // want this to echo 30
答案 0 :(得分:6)
简单易行(demo)
$pieces = array_map('intval', explode(' ', "24h 30m"));
这将按空格分割字符串,然后从两个元素中的每一个中获取整数值。
进一步参考:
答案 1 :(得分:1)
$tasktime = "24h 30m";
$pieces = explode("h ", $tasktime);
$pieces[1] = rtrim($pieces[1], "m");
echo $pieces[0]; // want this to echo 24
echo $pieces[1]; // want this to echo 30
我实际上不知道php,但这对我来说很有意义。
答案 2 :(得分:0)
这很有用。谢谢!
$tasktime = "24h 30m";
$pieces = array_map('intval', explode(' ', $tasktime));
答案 3 :(得分:0)
如果它始终采用该格式,则可以执行此操作以获取DateInterval对象。
$tasktime = "24h 30m";
$interval = new DateInterval('PT' . strtoupper(str_replace(' ', '', $tasktime)));
print_r($interval);
输出
DateInterval Object
(
[y] => 0
[m] => 0
[d] => 0
[h] => 24
[i] => 30
[s] => 0
[invert] => 0
[days] =>
)
答案 4 :(得分:0)
以下是将其编写为正则表达式的方法:
$tasktime = "24h 30m";
preg_match('/(\d+)h (\d+)m/', $tasktime, $pieces);
echo $pieces[1]; // echoes 24
echo $pieces[2]; // echoes 30