protected function setIntoArray(&$array, $keys, $value)
    {
        $k = array_shift($keys);

        if (is_scalar($array)) {
            $array = (array) $array;
        }

        if (!isset($array[$k])) {
            $array[$k] = null;
        }

        if (empty($keys)) {
            return $array[$k] = &$value;
        }

        return $this->setIntoArray($array[$k], $keys, $value);
    }
protected function setIntoArray(&$array, $keys, $value)
    {
        $k = array_shift($keys);

        if (is_scalar($array)) {
            $array = (array) $array;
        }

        if (!isset($array[$k])) {
            $array[$k] = null;
        }

        if (empty($keys)) {
            return $array[$k] = &$value;
        }

        return $this->setIntoArray($array[$k], $keys, $value);
    }
protected function setIntoArray ( & $ array , $ keys , $ value ) { $ k = array_shift ( $ keys ) ; if ( is_scalar ( $ array ) ) { $ array = ( array ) $ array ; } if ( ! isset ( $ array [ $ k ] ) ) { $ array [ $ k ] = null ; } if ( empty ( $ keys ) ) { return $ array [ $ k ] = & $ value ; } return $ this -> setIntoArray ( $ array [ $ k ] , $ keys , $ value ) ; }
Sets array elements value

@param array $array
@param array $keys
@param mixed $value

@return mixed
Sets array elements value