private function fromArray(array $data, TomlBuilder $builder, string $parent = ''): TomlBuilder
    {
        foreach ($data as $key => $value) {
            if (\is_array($value)) {
                if ($this->hasStringKeys($value)) {
                    $key = $parent !== '' ? "${parent}.${key}" : $key;

                    if (\mb_strpos($key, '.') !== false) {
                        $builder->addTable($key);
                    }

                    $builder = $this->fromArray($value, $builder, $key);
                } elseif ($this->onlyArrays($value)) {
                    $builder = $this->processArrayOfArrays($value, $key, $builder);
                } else {
                    // Plain array.
                    $builder->addValue($key, $value);
                }
            } else {
                // Simple key/value.
                $builder->addValue($key, $value);
            }
        }

        return $builder;
    }
private function fromArray(array $data, TomlBuilder $builder, string $parent = ''): TomlBuilder
    {
        foreach ($data as $key => $value) {
            if (\is_array($value)) {
                if ($this->hasStringKeys($value)) {
                    $key = $parent !== '' ? "${parent}.${key}" : $key;

                    if (\mb_strpos($key, '.') !== false) {
                        $builder->addTable($key);
                    }

                    $builder = $this->fromArray($value, $builder, $key);
                } elseif ($this->onlyArrays($value)) {
                    $builder = $this->processArrayOfArrays($value, $key, $builder);
                } else {
                    // Plain array.
                    $builder->addValue($key, $value);
                }
            } else {
                // Simple key/value.
                $builder->addValue($key, $value);
            }
        }

        return $builder;
    }
private function fromArray ( array $ data , TomlBuilder $ builder , string $ parent = '' ) : TomlBuilder { foreach ( $ data as $ key => $ value ) { if ( \ is_array ( $ value ) ) { if ( $ this -> hasStringKeys ( $ value ) ) { $ key = $ parent !== '' ? "${parent}.${key}" : $ key ; if ( \ mb_strpos ( $ key , '.' ) !== false ) { $ builder -> addTable ( $ key ) ; } $ builder = $ this -> fromArray ( $ value , $ builder , $ key ) ; } elseif ( $ this -> onlyArrays ( $ value ) ) { $ builder = $ this -> processArrayOfArrays ( $ value , $ key , $ builder ) ; } else { // Plain array. $ builder -> addValue ( $ key , $ value ) ; } } else { // Simple key/value. $ builder -> addValue ( $ key , $ value ) ; } } return $ builder ; }
Build toml file from given array.

@param array                       $data
@param \Yosymfony\Toml\TomlBuilder $builder
@param string                      $parent

@return \Yosymfony\Toml\TomlBuilder
Build toml file from given array .