wpdb::process_field_charsets()protectedWP 4.2.0

Adds field charsets to field/value/format arrays generated by wpdb::process_field_formats().

Method of the class: wpdb{}

No Hooks.

Returns

Array|false. The same array of data with additional 'charset' keys, or false if the charset for the table cannot be found.

Usage

// protected - for code of main (parent) or child class
$result = $this->process_field_charsets( $data, $table );
$data(array) (required)

Array of values and formats keyed by their field names, as it comes from the wpdb::process_field_formats() method.

  • ...$0(array)
    Value and format for this field.

    • value(mixed)
      The value to be formatted.

    • format(string)
      The format to be mapped to the value.
$table(string) (required)
Table name.

Changelog

Since 4.2.0 Introduced.

wpdb::process_field_charsets() code WP 6.8.1

protected function process_field_charsets( $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['charset'] = false;
		} else {
			$value['charset'] = $this->get_col_charset( $table, $field );
			if ( is_wp_error( $value['charset'] ) ) {
				return false;
			}
		}

		$data[ $field ] = $value;
	}

	return $data;
}