WireArray::getRandom() method

Get a random item from this WireArray.

  • If one item is requested (default), the item is returned (unless $alwaysArray argument is true).
  • If multiple items are requested, a new WireArray of those items is returned.
  • We recommend using this method when you just need 1 random item, and using the WireArray::findRandom() method when you need multiple random items.

Example

// Get a single random item
$randomItem = $items->getRandom();

// Get 3 random items
$randomItems = $items->getRandom(3); 

Usage

// basic usage
$items = $wireArray->getRandom();

// usage with all arguments
$items = $wireArray->getRandom(int $num = 1, bool $alwaysArray = false);

Arguments

NameType(s)Description
num (optional)int

Number of items to return. Optional and defaults to 1.

alwaysArray (optional)bool

If true, then method will always return an array of items, even if it only contains 1 item.

Return value

WireArray Wire mixed null

Returns value of item, or new WireArray of items if more than one requested.

See Also


WireArray methods and properties

API reference based on ProcessWire core version 3.0.214

Twitter updates

  • This week ProcessWire 3.0.214 is on the dev branch. Relative to 3.0.213 this version has 16 new commits which include the addition of 3 new pull requests, 6 issue fixes, a new WireNumberTools utility class, and various other improvements. More
    17 March 2023
  • ProcessWire 3.0.213 core updates: This week we’ll look at the new WireSitemapXML module, a new WireNumberTools core class, and a new ability for Fieldtype modules to specify useful ready-to-use configurations when creating new fields. More
    24 February 2023
  • ProcessWire 3.0.212 core updates— More
    17 February 2023

Latest news

  • ProcessWire Weekly #462
    In the 462nd issue of ProcessWire Weekly we'll cover the latest core updates, check out a new third party module called Template Access Log, and more. Read on!
    Weekly.pw / 18 March 2023
  • ProcessWire 3.0.213 core updates
    This week we’ll look at the new WireSitemapXML module, a new WireNumberTools core class, and a new ability for Fieldtype modules to specify useful ready-to-use configurations when creating new fields.
    Blog / 24 February 2023
  • Subscribe to weekly ProcessWire news

“The end client and designer love the ease at which they can update the website. Training beyond how to log in wasn’t even necessary since ProcessWire’s default interface is straightforward.” —Jonathan Lahijani