Find a quantity of random elements from this WireArray based on a timed interval (or user provided seed).

If no $seed is provided, today's date (day) is used to seed the random number generator, so you can use this function to rotate items on a daily basis.

Idea and implementation provided by


// Get same 3 random items per day
$randomItems = $items->findRandomTimed(3);

// Get same 3 random items per hour
$randomItems = $items->findRandomTimed('YmdH'); 


// basic usage
$items = $wireArray->findRandomTimed(int $num);

// usage with all arguments
$items = $wireArray->findRandomTimed(int $num, $seed = 'Ymd');



The amount of items to extract from the given list

$seed (optional)int or string

Optionally provide one of the following:

  • A PHP date() format string.
  • A number used to see the random number generator.
  • The default is the PHP date format "Ymd" which makes it randomize once daily.

Return value

See Also

WireArray methods and properties

API reference based on ProcessWire core version 3.0.109