ฉันต้องการผลลัพธ์ต่อไปนี้: -
กำลังจะหัก 50% ของ€ 27.59 จากบัญชีเติมเงินของคุณ
เมื่อฉันทำอะไรเช่นนี้: -
$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%
ยังสำหรับการทดแทน ฉันจะหนีมันได้อย่างไร
@sandeepan: อยู่ในครอบครัวเดียวกันของฟังก์ชั่นเป็น
—
BoltClock
vsprintf
printf
เอกสารที่ถูกต้องที่จะหารูปแบบ แต่เป็นphp.net/sprintf ทั้งสองหน้าชี้ไปที่: "ดู sprintf () สำหรับคำอธิบายของรูปแบบ" อย่างน้อยคุณไม่คลิกมันเหรอ?
@Col กระสุนตกลงได้แล้วลองใช้ php.net/sprintf คำตอบอยู่ที่ไหน ลงครึ่งหนึ่งแล้วหน้า
—
Sandeepan Nath
With printf() and sprintf() functions, escape character is not backslash '\' but rather '%'.
มีอะไรให้โหวตที่นี่? มันไม่ชัดเจนสำหรับฉันเช่นเดียวกับคุณ หากคุณพบคำถามที่ซ้ำกันคุณสามารถเขียนลิงค์ได้ดีขึ้น แต่ฉันมั่นใจว่าหลายคนจะพบว่าคำถามนี้มีประโยชน์ แต่คุณจะไม่ยอมรับและคุณจะยังพูดอะไรบางอย่างอยู่
โอ้ฉันคิด
—
ว่าความ
ดังนั้นควรมีการตั้งค่าสถานะสำหรับการตอบสนอง RTFM มันเกือบจะเหมือนคนหมุนรอบเพื่อให้พวกเขาสามารถบอกให้คนอ่านเอกสาร เขาต้องการความช่วยเหลือและถามคำถามจากนั้นมีคนตอบอย่างเป็นประโยชน์และได้รับคะแนน โลกนี้ดำเนินต่อไปและอินเทอร์เน็ตก็เคยชินกับผลประโยชน์ของใครบางคน ในขณะเดียวกันฉันก็รู้สึกร้อนแรงกับการโต้แย้งสองปี
—
rob5408
escape
หรือescaping
ทั้งสองอย่างphp.net/printf
และphp.net/vsprintf
ทั้งคู่ไม่แสดงคำตอบทันที เมื่อฉันค้นหา%%
มันแสดงคำตอบใน php.net/printf แต่ฉันไม่รู้เกี่ยวกับ%%
!!! คุณค้นหาคำตอบที่นั่นก่อนการลงคะแนนหรือไม่