使用爆炸时为什么要打印逗号?

时间:2016-01-06 15:33:28

标签: php explode

我有一串名字,我想打印它们。我正在使用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

4 个答案:

答案 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";

Here's a fiddle