2009-07-21 4 views

답변

4

이 그것을해야한다. 당신이 원하는 경우

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

두 번째 쉼표가있는 경우에 대비하여'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 나는 기분을 상하게하려는 것이 아니 었습니다. 왜 한 줄의 효율성과 가독성을 희생시키려는 이유인지 이해하지 못했습니다. 무례하게 오게해서 미안해. –

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); 
관련 문제