PHPの関数マジック

1118 ワード


私は最も頻繁にFirstNameとLastName値をNameフィールドから分離してデータベースに格納するためにexplode関数を使用します.
そのために以下のようになります.
$fullName = "John Doe";
$pieces = explode(' ', $fullName);
$firstName = $pieces[0]; // John
$lastName = $pieces[1]; // Doe
しかし最近プロジェクトで働いていて、ユーザーがミドルネームを追加するとき、このコードで問題を見つけました.
したがって、名前はJohn Jane Doeです.上記のコードを保存すると、' John 'と'ジェーン'として' LastName 'としてfirfirnameを与え、' doe 'が不足しています.
それで、私がPHP公式ドキュメントでexplode機能の解決に遭遇したので、解決策を見つけること.
解決策はかなり簡単です.explode関数は3番目のパラメータをintegerとして受け取ります.これは出力配列の要素数を制限します.
それで、私の解決コードはこのように見えました.
$fullName = "John Jane Doe";
$pieces = explode(' ', $fullName, 2); // only two elements
$firstName = $pieces[0]; // John
$lastName = $pieces[1]; // Jane Doe