给出字符串“ 123456789@test.com”,我正尝试从“ @”符号上删除,我只想要数字。我一直试图将字符串拆分为一个数组,并根据该元素是否为数字来删除数组元素,然后将这些元素合并回字符串中。我的代码...
$employee_id = "123456789@test.com";
$employee_id_array = str_split($employee_id);
for($i = 0; $i < sizeof($employee_id_array); $i++) {
if(is_numeric($employee_id_array[$i]) === false) {
unset($employee_id_array[$i]);
$employee_id_array = array_values($employee_id_array);
}
}
$employee_id = implode($employee_id_array);
echo "employee id: $employee_id";
它应该打印出什么:123456789
它实际打印出的内容:123456789ts.o
我想念什么?
答案 0 :(得分:1)
echo strstr($employee_id, '@', true);
答案 1 :(得分:0)
要获取employee_id
字符串中的所有数字:
$employee_id = "123456789@test.com";
preg_match_all('!\d+!', $employee_id, $matches);
echo $matches[0][0];
这将返回提供的字符串中的所有数字。
如果您想在employee_id
中的@之前获取字符串,则可以尝试以下操作:
$employee_id = "123456789@test.com";
$output = explode('@', $employee_id);
echo $output[0];