2
sprintf()
문자열을 사용하여 문자열의 여러 자리 표시자를 하나의 값으로 대체하려면 어떻게해야합니까? 나는 보통 당신이 각 자리 표시 자에 대해 1 개의 변수를 전달할 것임을 알고 있지만 대신 %1$s
형식을 사용하면 단일 값을 전달할 수는 있지만 작동하도록 할 수는 없다는 것을 이해합니다.php sprintf 하나의 값으로 여러 자리 표시 자 바꾸기
나는 실제로 parametrised SQL 쿼리로 이것을 사용하지만, 쉽게 여기이 작동하지 않는 하나의 예를
$name = "Bill";
$string = "hello ?, your name is ? ";
$string = sprintf(str_replace("?","'%1$s'",$string),$name);
입니다 있어요. 또한 단일 자리 표시 자 (예 :
$name = "Bill";
$string = "hello ?";
$string = sprintf(str_replace("?","'%1$s'",$string),$name);
- 그것은 하나 개의 값에서 여러 자리를 교체 할 수 있으며, 2. 하나의 문은 하나 또는 여러 개의 자리를 처리하기 위해 쓸 수 있습니까?
참고 : vsprintf()
을 사용하여 배열을 전달하는 것에 대해 특별히 언급하지 않습니다. 단 하나의 값만 있기 때문입니다. 같은 가치를 여러 번 나눠주는 것이 무의미 해 보입니다.
감사합니다.
슈퍼, 항상 간단합니다! 감사 – leejmurphy