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.248

Latest news

  • ProcessWire Weekly #575
    The 575th issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!
    Weekly.pw / 17 May 2025
  • New ProcessWire admin redesign
    When you upgrade to ProcessWire 3.0.248 or newer (currently the dev branch), you’ll immediately notice something new and beautiful…
    Blog / 9 May 2025
  • Subscribe to weekly ProcessWire news

“I am currently managing a ProcessWire site with 2 million+ pages. It’s admirably fast, and much, much faster than any other CMS we tested.” —Nickie, Web developer