php - 使用 php explode() 时 undefined offset

标签 php explode

我写了我认为非常简单的 php explode() 函数的用法,将名字拆分为名字和姓氏:

// split name into first and last
$split = explode(' ', $fullname, 2);
$first = $split[0];
$last = $split[1];

但是,这将抛出一个 php 错误,消息为 "Undefined offset: 1"。该功能似乎仍然有效,但我想清除导致错误的原因。我检查了 php manual但他们的示例使用与上述相同的语法。 我想我明白什么是 undefined offset ,但我不明白为什么我的代码会产生错误!

最佳答案

这是因为您的全名不包含空格。您可以使用一个简单的技巧来确保空间始终在何处

 $split = explode(' ', "$fullname ");

(注意引号内的空格)

顺便说一句,你可以使用 list() 函数来简化你的代码

  list($first, $last) = explode(' ', "$fullname ");

关于php - 使用 php explode() 时 undefined offset ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1807849/

相关文章:

php - 为什么MySQL中会发生这种数据类型转换?

PHP explode 然后双循环

c - 是否可以使用 C 为函数中的参数创建默认值?

php - 停止重复插入

php - 如何使用php压缩视频文件的大小,同时上传到支持ffmpeg的服务器?

php - PHP MVC在本地工作,但是当上传到主机时失败

php - 查询具有 md5 版本 id 的字段

PHP 表单不会更新我的 MySQL 数据库

apache-spark - 在 pyspark 中分解 Maptype 列