W3cubDocs

/WordPress

wpdb::process_field_lengths( array $data, string $table ): array|false

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

Parameters

$dataarrayrequired
Array of values, formats, and charsets keyed by their field names, as it comes from the wpdb::process_field_charsets() method.
  • ...$0 array
    Value, format, and charset for this field.
    • value mixed
      The value to be formatted.
    • format string
      The format to be mapped to the value.
    • charset string|false
      The charset to be used for the value.
    $tablestringrequired
    Table name.

    Return

    array|false The same array of data with additional ‘length’ keys, or false if information for the table cannot be found.
    • ...$0 array
      Value, format, charset, and length for this field.
      • value mixed
        The value to be formatted.
      • format string
        The format to be mapped to the value.
      • charset string|false
        The charset to be used for the value.
      • length array|false
        Information about the maximum length of the value.
        False if the column has no length.
        • type string
          One of 'byte' or 'char'.
        • length int
          The column length.
          }

        Source

        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_wp_error( $value['length'] ) ) {
        				return false;
        			}
        		}
        
        		$data[ $field ] = $value;
        	}
        
        	return $data;
        }
        

        Changelog

        Version Description
        4.2.1 Introduced.

        User Contributed Notes

        You must log in before being able to contribute a note or feedback.

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wpdb/process_field_lengths