2

我需要在 80% 的左侧字符上匹配一些字符串。我可以使用len()然后计算出该长度的 80% 是多少并将其设置为变量。那我可以做substr($var, 0, $len80)

那应该选择 80% 的字符串,但是因为我处于 2 个循环中,并且我必须在两边都这样做,所以我希望有更好的方法来做到这一点。任何人都知道选择字符串的某个百分比的更简单,更有效的方法吗?

更新

我最终这样做了$a2 = substr($a, 0, (strlen($a) * .80));

相同的概念只是不必设置多个变量。

4

1 回答 1

2

Grabbing the left 80% is pretty trivial:

$string = "This is my string";
$length = strlen($string);

echo substr($string, 0, $length * .8);

To grab 50% from the middle, offset by 25% on the starting position:

$result = substr($string, $length * .25, $length * .5);

// Outputs '...is my s...'
echo "..." . trim($result) . "...";

Demo: http://codepad.org/EZnoo2SZ

于 2012-12-19T20:29:35.860 回答