gcdb::process_field_lengths()

最后更新于:2021-11-26 09:03:38

gcdb::process_field_lengths( array$data, string$table)

For string fields, records the maximum string length that field can safely save.

参数

$data

(array) (Required) As it comes from the gcdb::process_field_charsets() method.

$table

(string) (Required) Table name.

响应

(array|false) The same array as $data with additional ‘length’ keys, or false if any of the values were too long for their corresponding field.

源文件

文件: gc-includes/gc-db.php

	protected function process_field_lengths( $data, $table ) {
		foreach ( $data as $field => $value ) {
			if ( '%d' === $value['format'] || '%f' === $value['format'] ) {
				/*
				 * We can skip this field if we know it isn't a string.
				 * This checks %d/%f versus ! %s because its sprintf() could take more.
				 */
				$value['length'] = false;
			} else {
				$value['length'] = $this->get_col_length( $table, $field );
				if ( is_gc_error( $value['length'] ) ) {
					return false;
				}
			}

			$data[ $field ] = $value;
		}

		return $data;
	}