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

Twitter updates

  • This week we’ve got a few new and interesting core updates in progress, though none quite ready to release just yet. So rather than releasing version 3.0.154 today, I thought we'd instead take a brief look at what’s coming over the next few weeks… More
    3 April 2020
  • ProcessWire 3.0.153 (dev) focuses on comments field updates, significant refactoring/improvements to ProcessWire’s core Template class and PagesLoader class (which is used by the pages API variable), and we introduce a useful new pages API method— More
    20 March 2020
  • ProcessWire 3.0.152 core updates— This week we have some major improvements to our core date/time Inputfield, as well as a new ability to specify your own custom classes for Page objects— More
    6 March 2020

Latest news

  • ProcessWire Weekly #308
    In the 308th issue of ProcessWire Weekly we're going to take a look at some upcoming core and pro module updates, check out two all-new third party modules, and more. Read on!
    Weekly.pw / 4 April 2020
  • ProcessWire updates and additions in progress
    This week we’ve got a few new and interesting core updates in progress, though none quite ready to release just yet. So rather than releasing version 3.0.154 today, I thought we'd instead take a brief look at what’s coming over the next few weeks. This post covers all the details.
    Blog / 3 April 2020
  • Subscribe to weekly ProcessWire news

“ProcessWire is like a breath of fresh air. So powerful yet simple to build with and customise, and web editors love it too.” —Margaret Chatwin, Web developer