我的$data
会返回以下值。以下值的gettype()
为String
。
["0:12:23", 0.000000],["0:12:43", 0.000000],["0:13:03", 0.000000]
我想将字符串vlaues转换为数组。并且必须输出时间值"0:12:23" , "0:12:43" and "0:13:03"
如何使用php将字符串值转换为数组并仅获取时间值。
答案 0 :(得分:3)
我希望您的输入是单字符串。所以请执行以下操作: -
<?php
$string = '["0:12:23", 0.000000],["0:12:43", 0.000000],["0:13:03", 0.000000]'; // i assume it's a single string
preg_match_all('/\d:\d{2}:\d{2}/',$string,$matches);
print_r($matches);
输出: - https://eval.in/895248
或者@deceze说如下所示使用json_decode("[$string]")
: -
<?php
$string = '["0:12:23", 0.000000],["0:12:43", 0.000000],["0:13:03", 0.000000]';
$string_array=json_decode("[$string]");
$time_array = array_column($string_array,0);
print_r($time_array);
?>
输出: - https://eval.in/895251
参考: -
答案 1 :(得分:2)
您可以使用json_decode
将其转换为数组结构。并使用foreach
循环过滤掉.try,
<?php
$string = '["0:12:23", 0.000000],["0:12:43", 0.000000],["0:13:03", 0.000000]';
$string_to_array=json_decode("[$string]");
foreach($string_to_array as $values){
print_r($values[0]);
}
?>