有人可以告诉我为什么我得到的结果与书有所不同吗?
这是代码
<?php
$address = "username@example.com";
$arr = split ("\.|@", $address);
while (list($key, $value) = each($arr))
{
echo "<br/>".$value;
}
?>
这是本书说你应该得到的结果
username
@
example
.
com
以下是我在计算机上试用代码时的结果
Deprecated: Function split() is deprecated in C:\Apache24\htdocs\test3.php on line 3
username
example
com
答案 0 :(得分:0)
自PHP 5.3.0起,split()
函数已被弃用。
改为使用preg_split()
。
此用法与split()
相同。
答案 1 :(得分:0)
这本书是错误的,因为你不应该自己得到分隔符,只有&#39;单词&#39;他们之间。
警告是由于split()
即将停止使用preg_split()
,因此您应该将其替换为
$arr = preg_split ('/\.|@/', $address);
以防止警告。
我建议您先排除@
,然后再按.
拆分域名,否则您无法知道foo.bar@example.com
或foo@bar.example.com
导致
foo
bar
example
com
结果。