仅显示同一变量中的名字
P粉899950720
P粉899950720 2023-09-05 09:41:43
[CSS3讨论组]
<p>我在 PHP 中有一个变量:</p> <pre class="brush:php;toolbar:false;">&lt;p&gt;&lt;?php echo $this-&gt;userInfo-&gt;name;?&gt;&lt;/p&gt;</pre> <p>这会输出他们的名字和姓氏(即 Joe Bloggs)</p> <p>我只想显示他们的名字和姓氏的第一个字符(即 Joe B)</p> <p>我可以通过在 CSS 中执行以下操作来显示他们名字的第一个字符并隐藏其余字符:</p> <pre class="brush:php;toolbar:false;">p { visibility: hidden; } p::first-letter { visibility: visible; }</pre> <p>我想我可以使用 PHP 中的函数,大致如下:</p> <pre class="brush:php;toolbar:false;">function abbreviateName($this-&gt;userInfo-&gt;name) { if($this-&gt;userInfo-&gt;name == "") return ""; $tmp = explode(" ", $this-&gt;userInfo-&gt;name, 2) if(count($tmp)&lt;=1) { return ucwords($tmp[0])."."; } else { $fn = ucwords($tmp[0]); $ln = ucwords(substr($tmp[1],0,1); return $fn.". ".$ln."."; } }</pre> <p>但这不起作用</p>
P粉899950720
P粉899950720

全部回复(2)
P粉642920522

假设总是有一个空格,您可以从字符串的开头到空格索引后的一个子字符串。

substr($this->userInfo->name, 0, strpos($this->userInfo->name, " ") + 2);
P粉680487967

好的,所以我想出了一个很好且简单的解决方案:

[$first_name, $last_name] = explode(' ', $this->userInfo->name);

echo  $first_name . " " . substr($last_name, 0, 1);

看起来效果很好!

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号