为什么php在'@'之前修剪数字

时间:2013-10-01 15:29:19

标签: php

我尝试使用php rtrim()函数来检索电子邮件地址中的用户名,但我遇到了以下问题:

案例1:

$email = 'merkerxu37@stackoverflow.com';
echo rtrim($email, '@stackoverflow.com');

我得到了输出:

merkerxu37

案例2:

$email = 'merkerxu37@37signals.com';
echo rtrim($email, '@37signals.com');

我得到了输出:

merkerxu

有人可以告诉我为什么案例2中缺少“37”吗?

2 个答案:

答案 0 :(得分:1)

这是因为您输入了第二个参数'@37signals.com',将3737视为要修剪的字符。

Reference

答案 1 :(得分:1)

trim(及其单面变体)会删除要删除的字符列表。由于您提供的列表中有37功能,因此会对其进行修剪。

为什么不这样做?

echo explode("@",$email,2)[0];
// If you don't have PHP 5.4:
// $parts = explode("@",$email,2); echo $parts[0];