我有一串名字,我想打印它们。我正在使用explode
功能。然而,它有效,我的逗号上印有名字,我不想这样。我怎么能让他们不打印?任何帮助表示赞赏。另外,我如何才能提高代码效率?
$input = 'Jrew Low, Bill Wilt, Law Naw, Ing Holp';
list($fName, $lName, $fNameTwo, $lNameTwo, $fNameThree, $lNameThree, $fNameFour, $lNameFour) = explode(' ', $formInputNames);
if ($formInputNames == empty($fName) && empty($lName) || empty($fNameTwo) && empty($lNameTwo)){
echo "No Valid Name";
} else {
// while ($fName == empty($formInputNames)){
// echo "something is missing";
// }
echo "First Name: $fName <br> Last Name: $lName <br>";
echo "Email Address: $fName$email <br><br>";
echo "First Name: $fNameTwo <br> Last Name: $lNameTwo <br>";
echo "Email Address: $fNameTwo$email <br><br>";
echo "First Name: $fNameThree <br> Last Name: $lNameThree <br>";
echo "Email Address: $fNameThree$email <br><br>";
echo "First Name: $fNameFour <br> Last Name: $lNameFour <br>";
echo "Email Address: $fNameFour$email <br><br>";
}
输出:
名字:Jrew
姓氏:低,
名字:比尔
姓氏:Wilt,
名字:法律
姓氏:Naw,
名字:Ing
姓氏:Holp
答案 0 :(得分:8)
因为爆炸功能中的分隔符是&#34; &#34; (空间)。当你从字符串中拆分字符串时,为什么你认为逗号会消失?
首先使用
拆分它explode(", ", $input);
这将为您提供全名列表。稍后您可以拆分一次以分别获得名字和姓氏:
explode(" ", $fullname);
但在我个人看来,不是将所有这些名称和姓氏绑定到不同的变量。将它们放入数组中并通过遍历数组来打印名称。
$input = 'Jrew Low, Bill Wilt, Law Naw, Ing Holp';
$fullnames = explode(", ", $input);
foreach ($fullnames as $fullname) {
$nameSplit = explode(" ", $fullname);
echo 'First Name: ' . $nameSplit[0];
echo 'Last Name: ' . $nameSplit[1];
}
答案 1 :(得分:1)
为什么要打印逗号?由于explode
正在空格上拆分字符串 - 您没有告诉它对逗号做任何事情。
答案 2 :(得分:0)
将<script src="https://cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js"></script>
<div class="lines">
<span class="line"></span>
<span class="line"></span>
<span class="line"></span>
</div>
更改为explode(' ', $formInputNames)
您只是在空格上分割,但您还想在逗号上拆分以删除它们。
答案 3 :(得分:0)
现在我理解了这个问题..这是最简单的方法..
$input = 'Jrew Low, Bill Wilt, Law Naw, Ing Holp';
$chunks = explode(" ", $input);
foreach($chunks as $index=>$name)
echo ($index % 2 ? "Last" : "First") . " name: ".trim($name, ", ")."\n";