function Data::getValue
Returns a native representation of the original value.
Parameters
array|bool $recursive Whether values should be resolved recursively or not:
Return value
string|int|float|bool|array|Data[]|null
3 calls to Data::getValue()
- Data::count in vendor/
symfony/ var-dumper/ Cloner/ Data.php - Data::getIterator in vendor/
symfony/ var-dumper/ Cloner/ Data.php - Data::__toString in vendor/
symfony/ var-dumper/ Cloner/ Data.php
File
-
vendor/
symfony/ var-dumper/ Cloner/ Data.php, line 71
Class
- Data
- @author Nicolas Grekas <p@tchwork.com>
Namespace
Symfony\Component\VarDumper\ClonerCode
public function getValue(array|bool $recursive = false) : string|int|float|bool|array|null {
$item = $this->data[$this->position][$this->key];
if ($item instanceof Stub && Stub::TYPE_REF === $item->type && !$item->position) {
$item = $item->value;
}
if (!($item = $this->getStub($item)) instanceof Stub) {
return $item;
}
if (Stub::TYPE_STRING === $item->type) {
return $item->value;
}
$children = $item->position ? $this->data[$item->position] : [];
foreach ($children as $k => $v) {
if ($recursive && !($v = $this->getStub($v)) instanceof Stub) {
continue;
}
$children[$k] = clone $this;
$children[$k]->key = $k;
$children[$k]->position = $item->position;
if ($recursive) {
if (Stub::TYPE_REF === $v->type && ($v = $this->getStub($v->value)) instanceof Stub) {
$recursive = (array) $recursive;
if (isset($recursive[$v->position])) {
continue;
}
$recursive[$v->position] = true;
}
$children[$k] = $children[$k]->getValue($recursive);
}
}
return $children;
}