使用php更改由字符分隔的字符串的位置

使用php更改由字符分隔的字符串的位置,php,string,Php,String,我有一个字符串18-04,我想将其设置为04-18。 我尝试过这样做: $myStr = "18-04"; $first = substr($myStr, 0, 1); $second = substr($myStr, 3, 4); $final = $second . '-' . $first; 但我在寻找一种更简单的方法,而不是写5行来做一些简单的事情。有什么想法吗?您可以使用以下方法: $myStr = "18-04"; $chuncks = explode("-",$myStr);

我有一个字符串
18-04
,我想将其设置为
04-18
。 我尝试过这样做:

$myStr = "18-04";
$first = substr($myStr, 0, 1);
$second = substr($myStr, 3, 4);

$final = $second . '-' . $first;

但我在寻找一种更简单的方法,而不是写5行来做一些简单的事情。有什么想法吗?

您可以使用以下方法:

$myStr = "18-04";
$chuncks = explode("-",$myStr);
$final = $chuncks[1]. '-' . $chuncks[0];

您可以使用以下选项:

$myStr = "18-04";
$chuncks = explode("-",$myStr);
$final = $chuncks[1]. '-' . $chuncks[0];
它短吗?:)

它短吗?:)

在中使用regex来完成此工作

$final = preg_replace("/(\d+)-(\d+)/", "$2-$1", $myStr);
检查

中的结果使用中的正则表达式执行此工作

$final = preg_replace("/(\d+)-(\d+)/", "$2-$1", $myStr);

检查

中的结果我脑子里也有同样的逻辑:-)做'ol switcheroo'。我非常喜欢这个答案,但我会将另一个标记为已回答,因为它更一般。谢谢你们两位!我也有同样的逻辑:-)做‘ol switcheroo’。我非常喜欢这个答案,但我会把另一个标记为答案,因为它更一般。谢谢你们两位!我喜欢这个解决方案,就好像有两对以上的鞋一样,这可以很容易地定制以容纳额外的鞋对/位置。+1我喜欢这个解决方案,就好像有两对以上的鞋一样,这可以很容易地定制以容纳额外的鞋对/位置。+1鞋对我的口味来说还不够。哈哈:P鞋对我来说还不够我的口味哈哈:P