W3cubDocs

/WordPress

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

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

Parameters

$dataarrayrequired
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.
    $tablestringrequired
    Table name.

    Return

    array|false The same array of data with additional ‘charset’ keys, or false if the charset for the table cannot be found.
    • ...$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.

      Source

      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;
      }
      

      Changelog

      Version Description
      4.2.0 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_charsets