【发布时间】:2016-11-11 02:38:27
【问题描述】:
我有一个从全名表单传递过来的字符串。
在我的数据库中,我存储了名字和姓氏。我使用以下方法拆分了字符串:
$name = explode(" ", $request->name);
$lastname = array_pop($name);
$firstname = implode(" ", $name);
这很好用,但是,如果用户没有在字段中输入姓氏,则上述内容将不起作用,因为姓氏会成为第一个。
我错过了什么吗?
【问题讨论】:
-
强制用户输入
first_name和last_name,并按原样存储。当您想返回full_name时,只需返回$first_name." ".$last_name。与依赖用户提供正确信息或假设名称不包含空格相比,串联是更好的解决方案。 -
我同意@TimLewis。但是,在某些情况下,例如注册过程,您希望将用户需要填写的字段数量降至最低。在这种情况下,IMO 可以“猜测”哪个部分是名字和姓氏,但将它们分开存储,并让用户有机会稍后单独编辑它们。
-
@Dencker Fair 关于保持简单的主题。对于 90% 的情况,名称中没有空格,可以假设,但了解并尝试考虑边缘情况仍然很好,例如某人的名字类似于“玛丽安”。
标签: php arrays laravel laravel-5