[php] PHP Sprintf 탈출 %

다음과 같은 출력을 원합니다 :-

Top-Up 계정에서 € 27.59의 50 %를 차감하려고합니다.

내가 이런 식으로 할 때 :-

$variablesArray[0] = '€';
$variablesArray[1] = 27.59;
$stringWithVariables = 'About to deduct 50% of %s %s from your Top-Up account.';
echo vsprintf($stringWithVariables, $variablesArray);

그러나 그것은 나에게 오류를 제공 vsprintf() [function.vsprintf]: Too few arguments in ...는 생각 때문에 %의를 50%교체도. 어떻게 탈출합니까?



답변

다른 것으로 탈출하십시오 %:

$stringWithVariables = 'About to deduct 50%% of %s %s from your Top-Up account.';


답변

많이 쉽다.

%원본 앞에 다른 %것을 놓아 탈출하십시오.

예를 들어

$num=23;
printf("%%d of 23 = %d",$num);

산출:

%d of 23 = 23


답변

이건 어때?

$variablesArray[0] = '%';
$variablesArray[1] = '€';
$variablesArray[2] = 27.59;
$stringWithVariables = 'About to deduct 50%s of %s %s from your Top-Up account.';
echo vsprintf($stringWithVariables, $variablesArray);

변수 배열에 백분율 기호를 추가하기 만하면됩니다.


답변