【发布时间】:2020-01-06 19:50:52
【问题描述】:
目前,我有一个 SKU,它是一个字符串,即 LS181004。我想将该字符串转换为 18104。但是,我遇到了包含 1010 的字符串的问题,因为它减少到 11,我需要 10 留在字符串中。问题是字符串,如 LS121010、LS101010 等。
例如, LS101010 应作为 LS101010 返回。 LS101002 应作为 LS10102 返回。 LS121010 应作为 LS121010 返回。 LS120804 应作为 LS1284 返回。
代码:
public function format()
{
$count =0;
$sku = str_replace("LS", "", $this->SKU, $count);
if ($count > 0) {
$sku = str_replace("01", "1", $sku);
$sku = str_replace("02", "2", $sku);
$sku = str_replace("03", "3", $sku);
$sku = str_replace("04", "4", $sku);
$sku = str_replace("05", "5", $sku);
$sku = str_replace("06", "6", $sku);
$sku = str_replace("07", "7", $sku);
$sku = str_replace("08", "8", $sku);
$sku = str_replace("09", "9", $sku);
$this->SKU = $sku;
$this->save();
}
return $this;
}
【问题讨论】:
-
请明确说明应根据什么基础/规则将给定字符串转换为您想要的结果字符串。目前还不够清楚。
-
对于 LS181104 的情况,它应该变成 LS18114 还是保持原样?您需要公开有关规则的更多详细信息
-
LS181104 应返回为 18114。LS101010 应返回为 101010。LS120810 应返回为 LS12810。
标签: php string laravel formatting format