php如果时间随机数

时间:2014-01-08 01:02:36

标签: php wordpress date random

我试图在php循环中回显一个随机日期,代码适用于“如果帖子是3个月大”,那么我想得到今天的日期,减去“随机”数字,例如将回显一个日期基于此数字。

一切正常,但不是$ number。有人可以告诉我哪里出错了吗?

    <?php
        $post_age = date('U') - get_the_time('U');
        if($post_age >  7884000 ) { ?>

    <?php $number   =   'UniqueRandomNumbersWithinRange(0,25,5)'; ?>

<?php echo date('jS F', strtotime("now -'.$number.' days") ); ?>

    <?php } else {?>

<?php } ?>

功能:

function UniqueRandomNumbersWithinRange($min, $max, $quantity) {
    $numbers = range($min, $max);
    shuffle($numbers);
    return array_slice($numbers, 0, $quantity);
}

谢谢:)

2 个答案:

答案 0 :(得分:0)

我在那里看到的两个可能导致问题的问题,有两种情况你将事物转化为字符串但又不想:

有     

这不是在运行该函数,因为它在单引号''之间,因此您要删除它们

<?php $number   =   UniqueRandomNumbersWithinRange(0,25,5); ?>

并为     

您正在混合使用不同类型的引号,因此实际上并未调用$ number。您可能希望将其调整为:

<?php echo date('jS F', strtotime("now -".$number." days") ); ?>

答案 1 :(得分:0)

正如James的回答所说,你在代码中多次混淆字符串和函数。

此外,您的UniqueRandomNumbersWithinRange()函数返回一个数组。这不能写入字符串。

<?php
$post_age = date('U') - get_the_time('U');

if($post_age > 7884000) {
    $number = fetchRandoms(0, 25, 5);
    echo date('jS F', strtotime("now -" . $number . " days") );
} else {
    // la dee da
}

function fetchRandoms($min, $max, $amt) {
    $result = '';

    for ($i = 0; $i < $amt; $i++) {
        $result .= mt_rand($min, $max);
     }

     return $result;
}