2009-07-21 7 views

答えて

4

これはそれを行う必要があります。

$string = 'last,first'; 
    list($last,$first) = explode(",", $string); 
    echo $first . ' ' . $last; 
+0

2番目のコンマがある場合にのみ、おそらく 'explode("、 "、$ string、2)を使うべきです。 –

0

何かが働くだろう:

string[] names = LastNameFirstName.Split(','); 
string FirstNameLastName = names[1] + " " + names[0]; 
+0

くっ... PHPを!私はC#を投稿しました...

+0

人々は本当に彼らがタグを見るために人々に頼るのではなく、どんな言葉を話しているのでしょうか。 –

+0

それは大丈夫です、私はまだそれのロジックに従うことができます。 PHPには同じことをする分割関数があると思います。正しい方向へのスタートです、ありがとう! –

2

あなたはそれはあなたがこれを行う可能性が気の利いたワンライナーで行わ取得したい場合:

<?php 
$name = "Smith, Dave"; 
echo implode(' ', array_reverse(explode(',', $name))); 
+0

1行を保存するために、等式に不要なオーバーヘッドを追加しています。この方法は、それが何をしているのか把握していない人にとっては、より困難です。これにはどんな利点がありますか? –

+0

質問は「できるだけ速くXを実行するにはどうすればよいですか」、「できるだけ小さなメモリフットプリントでXを実行するにはどうすればよいのですか?したがって、私は解決策を提供しました。 – hobodave

+0

hobodave私は怒らせるつもりはありませんでした。私は、なぜあなたが1行のために効率と可読性を犠牲にしたいのか理解できなかっただけです。失礼を犯して申し訳ありません。 –

0
$string = 'last , first'; 
list($last,$first) = preg_split("/\s+,\s+/",$string); 
$s = preg_split("/[, ]/",$string); 
print implode(" ", array($s[0], end($s))); 
print implode(" ", array($last,$first)); 
print preg_replace("/(\w+)\s+,\s+(\w+)/","$2 $1", $string); 
関連する問題