Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的信息PHP substr问题_Php_Substr - Fatal编程技术网

我的信息PHP substr问题

我的信息PHP substr问题,php,substr,Php,Substr,我现在做的是个人信息档案。这没什么复杂的,但我试着从3个不同的字符串中提取首字母,我就是想不出来。我把我的代码的图像放上去,任何信息都会很棒。我不是在找人来做这件事,只是给我一些提示,并给我指出大致的方向 echo“”; $firstName=“哈维”; $middleName=“约瑟夫”; $lastName=“Glick”; $fullName=$firstName。" " . $中间名。" " . $姓氏; $initialsName=substr($fullName,0,-9);//需

我现在做的是个人信息档案。这没什么复杂的,但我试着从3个不同的字符串中提取首字母,我就是想不出来。我把我的代码的图像放上去,任何信息都会很棒。我不是在找人来做这件事,只是给我一些提示,并给我指出大致的方向

echo“
”; $firstName=“哈维”; $middleName=“约瑟夫”; $lastName=“Glick”; $fullName=$firstName。" " . $中间名。" " . $姓氏; $initialsName=substr($fullName,0,-9);//需要一些工作 $houseNumber=“110”; $street=“琼斯街”; $streetAddress=$houseNumber。" " . $街道;//需要一些工作
您需要在每个名称部分上使用
substr
,而不是在将所有三个部分连接在一起之后

按原样,您将使用
全名的第一个字符。这与只取
firstname
的第一个字符相同

作为一个粗略的例子:

$first = 'GivenName';
$mid = 'Middle';
$surname = 'Surname';
$f_initial = substr($first, 0, 1);
$m_initial = substr($mid, 0, 1);
echo $f_initial . ' ' . $m_initial . ' ' . $surname;
演示:

注意:您拥有的图像和更新的文本是不同的。这个

substr($fullName, 0, -9);
从字符串的右侧开始,然后进入中的
9
个字符。
,0,1)
更接近。您也可以使用正则表达式来实现这一点

替代正则表达式方法:

$firstName = "Harvey";
$middleName = "Joseph";
$lastName = "Glick";
$fullName = $firstName . " " . $middleName . " " . $lastName;
echo preg_replace('/([A-Z])[a-z]+\h+/', '$1 ', $fullName);
演示:

根据更新,真实示例如下:


为什么你要把你的代码的图像???添加到你的问题代码。周一,你需要在每个名称值上运行
substr
,然后将所有3个名称值连接在一起。你看过我第一次在这里发布的PHP站点了吗,所以我直接从notepad++添加了代码,但该站点不接受它。等一下,让我再加一次谢谢。是的,我从教授那里得到的指导非常模糊,我只是想弄清楚。再次感谢。图片之所以不同,是因为这是我最初键入的内容,在我发布之后,我一直在胡思乱想,试图弄清楚。所以数字不同,参数1是位置,参数2是长度。如果参数2为负值,则从右侧开始向左移动。所以
0,1
是字符串的开头和1个字符。好的,这很有意义,我只是在尝试不同的东西。现在我不能更改任何其他行,只是说需要一些工作,这是初始名称行,我可以添加行,这是可能的。再次感谢你的帮助,我真的很感激。非常感谢,我回去把它打了出来,它成功了。我想我是在深入阅读教授放在pdf文件中的内容,而不是试图找到解决方法。
$firstName = "Harvey";
$middleName = "Joseph";
$lastName = "Glick";
$fullName = $firstName . " " . $middleName . " " . $lastName;
echo preg_replace('/([A-Z])[a-z]+\h+/', '$1 ', $fullName);
$firstName = "Harvey";
$middleName = "Joseph";
$lastName = "Glick";
$f_initial = substr($firstName, 0, 1);
$m_initial = substr($middleName, 0, 1);
echo $f_initial . ' ' . $m_initial . ' ' . $lastName;