pocketmine\nbt\NBT::fromArray PHP Метод

fromArray() приватный статический Метод

private static fromArray ( Tag $tag, array $data, callable $guesser )
$tag pocketmine\nbt\tag\Tag
$data array
$guesser callable
    private static function fromArray(Tag $tag, array $data, callable $guesser)
    {
        foreach ($data as $key => $value) {
            if (is_array($value)) {
                $isNumeric = true;
                $isIntArray = true;
                foreach ($value as $k => $v) {
                    if (!is_numeric($k)) {
                        $isNumeric = false;
                        break;
                    } elseif (!is_int($v)) {
                        $isIntArray = false;
                    }
                }
                $tag[$key] = $isNumeric ? $isIntArray ? new IntArrayTag($key, []) : new ListTag($key, []) : new CompoundTag($key, []);
                self::fromArray($tag->{$key}, $value, $guesser);
            } else {
                $v = call_user_func($guesser, $key, $value);
                if ($v instanceof Tag) {
                    $tag[$key] = $v;
                }
            }
        }
    }