WireArray::data() method

Store or retrieve an extra data value in this WireArray

The data() function is exactly the same thing that it is in jQuery: http://api.jquery.com/data/.

Example

// set a data value named 'foo' to value 'bar'
$a->data('foo', 'bar');

// retrieve the previously set data value
$bar = $a->data('foo');

// get all previously set data
$all = $a->data(); 

Usage

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

// usage with all arguments
$items = $wireArray->data($key = null, $value = null);

Arguments

NameType(s)Description
key (optional)string, null, array, bool

Name of data property you want to get or set, or:

  • Omit to get all data properties.
  • Specify associative array of [property => value] to set multiple properties.
  • Specify associative array and boolean TRUE for $value argument to replace all data with the new array given in $key.
  • Specify regular array of property names to return multiple properties.
  • Specify boolean FALSE to unset property name specified in $value argument.
value (optional)mixed, null, bool

Value of data property you want to set. Omit when getting properties.

  • Specify boolean TRUE to replace all data with associative array of data given in $key argument.

Return value

WireArray mixed array null

Returns one of the following, depending on specified arguments:

  • mixed when getting a single property: whatever you set is what you will get back.
  • null if the property you are trying to get does not exist in the data.
  • $this reference to this WireArray if you were setting a value.
  • array of all data if you specified no arguments or requested multiple keys.

See Also


WireArray methods and properties

API reference based on ProcessWire core version 3.0.200

Twitter updates

  • New blog: Debugging tools built-in to ProcessWire. ProcessWire's core comes with a lot of helpful debugging tools and capabilities built-in. In this post we'll cover some of these useful tools and how to use them… More
    1 July 2022
  • A review of weekly core updates, plus a simple recipe for a very effective listing cache—More
    24 June 2022
  • Weekly update: Making ProcessWire render pages at old WordPress URLs (or building a simple/custom URL router in PW): More
    17 June 2022

Latest news

  • ProcessWire Weekly #424
    In the 424th issue of ProcessWire Weekly we'll check out the latest weekly update from Ryan, introduce a new third party module, and more. Read on!
    Weekly.pw / 25 June 2022
  • Debugging tools built into ProcessWire
    ProcessWire's core comes with a lot of helpful debugging tools and capabilities built-in. In this post we'll cover some of these useful tools and how to use them.
    Blog / 1 July 2022
  • 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