我記得在某處使用%D或類似的東西來聲明常量,其中%D的值是在調用常量時提供的。使用常量%D發送變量
define("EVENT_DATE","The event date is %D");
有關這方面的任何信息,它是如何工作的?
我記得在某處使用%D或類似的東西來聲明常量,其中%D的值是在調用常量時提供的。使用常量%D發送變量
define("EVENT_DATE","The event date is %D");
有關這方面的任何信息,它是如何工作的?
例子:
define('EVENT_DATE', 'The event date is %s.');
echo sprintf(EVENT_DATE, 'tomorrow morning');
上面會顯示:
The event date is tomorrow morning.
如果你想要做的是打印的,你是絕對確保該字符串並不需要應用到它htmlspecialchars()
,那麼你可以直接使用printf()
。它的工作原理與sprintf()
一樣,但它迴應結果而不是返回它。
梅爾指出,同時downvoting,%D
確實是一個strftime()
格式。檢查一下,並檢查Mel's example如何使用它。
可以用PHP申報程序中常數:
define("CONSTANT_EXAMPLE", 2);
echo CONSTANT_EXAMPLE * CONSTANT_EXAMPLE;
這將呼應4.
具體%d是strftime的使用:
<?php
define('EVENT_DATE', 'The event date is %D');
$eventDate = mktime(0, 0, 0, 5, 31);
echo strftime(EVENT_DATE, $eventDate);
?>
給出:The event date is 05/31/11
謝謝梅爾。我提到了%D,但我沒有具體說明日期。整件事情是無意的,我想要%s這樣的東西,但不記得所有%的簡短形式。儘管如此,謝謝你爲%D澄清我。我向你投了一個贊成票。 – 2011-05-26 20:12:56
奇怪的投票在這裏。 %D在標題中特別提到,並且對sprintf()沒有任何意義 - 事實上拼寫錯誤是因爲%d給出了完全意想不到的輸出。 – Mel 2011-05-26 14:02:28