Inserts `$data` into an array as defined by `$path`.

Parameters

  • mixed $list Where to insert into.
  • mixed $path A dot-delimited string.
  • array $data Data to insert.

Returns

array

Source

						public static function insert($list, $path, $data = array()) {
		if (!is_array($path)) {
			$path = explode('.', $path);
		}
		$_list =& $list;

		foreach ($path as $i => $key) {
			if (is_numeric($key) && intval($key) > 0 || $key === '0') {
				$key = intval($key);
			}
			if ($i === count($path) - 1) {
				$_list[$key] = $data;
			} else {
				if (!isset($_list[$key])) {
					$_list[$key] = array();
				}
				$_list =& $_list[$key];
			}
		}
		return $list;
	}