2014-11-02 3 views
1

특정 조합의 기호를 배열에서 제공된 값으로 바꾸는 함수를 찾고 있습니다.str_replace의 약간 다른 버전

예 :

$array = array('Tom','Smith'); 
$string = 'My first name is %% and my last name is %%'; 

var_dump(str_replace('%%', $array, $string)); 

예상 결과는

내 이름은 톰과 마지막 이름은

스미스

하지만 난이

내 첫

를 얻을 수 이름은 배열이고 나의 성은 배열

내가 올바른 출력을 얻을 것 str_replace에 대한 첫 번째 매개 변수로 array('%%','%%')를 넣어하지만 난 함수를 찾고 있어요 그래서 난 항상 배열이 얼마나 많은 요소 알 수 없습니다 만약 내가 생각입니다 만 교체 순서를 한 번 필요로하고 각 발생을 각 후속 배열 요소로 바꿉니다. 그런 기능이 있습니까?

답변

7

이렇게하려면 vsprintf 기능을 사용하기 만하면됩니다.

var_dump(vsprintf('My first name is %s and my last name is %s', $array) 

%s은 문자열을 나타냅니다. 당신은 그것이 %s이고 그 밖의 무엇이 될 수 있는지 이해하기 위해 format part of this을 읽어야합니다.

관련 문제