ValueLoader
Class to handle multi dimension values data
Description
Source
File: bp-integrations/learndash/library/ValueLoader.php
class ValueLoader { protected $value = []; /** * Constructor * * @since BuddyBoss 1.0.0 */ public function __construct($value) { $this->value = $value; } /** * Get a value by key * * @since BuddyBoss 1.0.0 */ public function get($key = null, $default = null) { $target = $this->value; if (is_null($key)) { return $target; } if (isset($target[$key])) { return $target[$key]; } foreach (explode('.', $key) as $segment) { if (! is_array($target) || ! array_key_exists($segment, $target)) { return $default; } $target = $target[$segment]; } return $target; } /** * Set a value by key * * @since BuddyBoss 1.0.0 */ public function set($key = null, $value = null) { $target =& $this->value; if (is_null($key)) { return $target = $value; } $keys = explode('.', $key); while (count($keys) > 1) { $key = array_shift($keys); if (! isset($target[$key]) || ! is_array($target[$key])) { $target[$key] = array(); } $target =& $target[$key]; } $target[array_shift($keys)] = $value; return $target; } }
Changelog
Version | Description |
---|---|
BuddyBoss 1.0.0 | Introduced. |
Methods
- __construct — Constructor
- get — Get a value by key
- set — Set a value by key
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.