【发布时间】:2021-12-30 07:27:02
【问题描述】:
我正在尝试分解作为全名字符串的用户名。我正在尝试以下方法:
function name_letters_explode($name) {
$letters = explode(' ', $name);
if(count($letters) > 1) {
return substr($letters[0], 0, 1) . substr($letters[1], 0, 1);
} else {
return substr($name, 0, 1);
}
}
name_letters_explode($user->name);
但没有任何回报。当我删除 if 计数条件时(即检查用户是否输入了 1 个名称或其完整(2 个部分)名称,以便我可以决定返回什么 - 我收到一个错误 undefined array key 1 (名字包含两部分,我很确定,所以字符串中不可能没有第二个名字)。怎么办?
【问题讨论】:
-
您的代码在我看来不错 - 您确定
$user->name已设置且不为空吗? -
转出 $name 和 $letters 看看发生了什么。
-
你可能忘记了回声或打印 :) (顺便说一句;我建议在爆炸前
trim($name)) -
是的,代码看起来不错,但是你对函数的返回值什么也没做。一个简单的回声指令会告诉你一些东西;)