sql >> Base de Datos >  >> RDS >> Mysql

Matriz de valores meta serializados de WooCommerce en la tabla wp_postmeta

Es una matriz serializada de cadenas de metadatos y s:31 es la longitud de pa_kapaciteta-rezervoarja-za-go en este caso. a:6 es el número correcto de elementos de pares clave/valor para cada matriz (o submatriz) .

Entonces una matriz serializada:

  • siempre comience con a: para matriz, más el número de pares clave/valor de elementos en ella y : .
  • entonces { para artículos comienzan
  • luego s: para cadena, más la longitud del elemento de cadena (clave o valor) y : , más la cadena de clave o valor.
  • entonces ; para separar cada componente clave o de valor
  • entonces } para el final de los artículos

Arreglos serializados , se puede no serializar usando WordPress maybe_unserialize() (o unserialize() en PHP) .
Una matriz normal puede ser serializado usando usando WordPress maybe_serialize() (o serialize() en PHP) .

Las funciones de Wordpress como add_post_meta() o update_post_meta() siempre serializarán matrices antes de guardar un meta_value en wp_postmeta mesa.

Lo mismo para WooCommerce con algunos WC_Data relacionados método como save() en Objetos CRUD y todas las clases de almacenes de datos relacionados.

usando maybe_unserialize() en su matriz de cadenas serializadas dará:

$values = array( 
    'pa_hrup' => array(
        'name'         => 'pa_hrup',
        'value'        => '',
        'position'     => '0',
        'is_visible'   => '1',
        'is_variation' => '0',
        'is_taxonomy'  => '1'
    ),
    'pa_kapaciteta-rezervoarja-za-go' => array(
        'name'         => 'pa_kapaciteta-rezervoarja-za-go',
        'value'        => '',
        'position'     => '1',
        'is_visible'   => '1',
        'is_variation' => '0',
        'is_taxonomy'  => '1'
    )
);