在数组的每个索引中拆分字符串的第一部分,并保留字符串的其余部分


split first part of string in every index of array and retain the rest of the string

下面是我的数组:

Array
(
[0] =>  2016-03-31 abc xyz  
[1] =>  2016-03-31 ef yz    
[2] =>  2016-04-05 ghij aei 
)

我需要从上面数组中的所有索引中删除日期,只保留字符串的其余部分。

预期输出:

Array
(
[0] =>  abc xyz 
[1] =>  ef yz   
[2] =>  ghij aei    
)

谢谢,Madhuri

如果日期总是排在第一位并且格式相同(10个符号),这样的事情就会发生:

foreach ($array as &$v) {$v = trim(substr($v, 10));}
for($i = 0; $i < count($array); $i++) {
   $result[$i] =substr($array[$i], 11,);  
}

因为还有其他答案:

$result = preg_replace('/'d'd'd'd-'d'd-'d'd(.*)/', '$1', $array);

或者更短:

$result = preg_replace('['d-]{10}(.*)/', '$1', $array);

考虑字符串中的第一个空格作为分隔符:

foreach ($arr as &$v) {
    $v = substr($v, strpos($v, " "));
}
print_r($arr);

输出:

Array
(
    [0] =>  abc xyz
    [1] =>  ef yz
    [2] =>  ghij aei
)

还有一个选项:

foreach ($array as $value) {
    $new[] = explode(' ', $value, 2)[1];
}

取消引用explode结果需要PHP>=5.4。