$zval =
[ self::VALUE =>
$objectOrArray,
];
if (\
is_object($objectOrArray) && false ===
strpbrk((string) $propertyPath, '.[?'
)) { return $this->
readProperty($zval,
$propertyPath,
$this->ignoreInvalidProperty
)[self::VALUE
];
} $propertyPath =
$this->
getPropertyPath($propertyPath);
$propertyValues =
$this->
readPropertiesUntil($zval,
$propertyPath,
$propertyPath->
getLength(),
$this->ignoreInvalidIndices
);
return $propertyValues[\
count($propertyValues) - 1
][self::VALUE
];
} /**
* @return void
*/
public function setValue(object|array &
$objectOrArray, string|PropertyPathInterface
$propertyPath, mixed
$value) { if (\
is_object($objectOrArray) && false ===
strpbrk((string) $propertyPath, '.['
)) { $zval =
[