Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Matriz de valor meta serializado WooCommerce na tabela wp_postmeta


É uma matriz serializada de strings de metadados e s:31 é o comprimento de pa_kapaciteta-rezervoarja-za-go nesse caso. a:6 é o número de itens de pares chave/valor ok para cada array (ou sub array) .

Então, um array serializado:
  • sempre comece com a: para array, mais o número de pares de chave/valor de itens nele e : .
  • então { para itens iniciar
  • então s: para string, mais o comprimento do item de string (chave ou valor) e : , mais a string de chave ou valor.
  • então ; para separar cada chave ou componente de valor
  • então } para o fim dos itens

Matrizes serializadas , pode ser não serializado usando WordPress maybe_unserialize() (ou unserialize() em PHP) .
Uma matriz normal pode ser serializado usando o WordPress maybe_serialize() (ou serialize() em PHP) .

Funções do Wordpress como add_post_meta() ou update_post_meta() sempre serializarão um array antes de salvar um meta_value em wp_postmeta tabela.

Mesma coisa para WooCommerce com alguns WC_Data relacionados método como save() em Objetos CRUD e todas as classes de armazenamento de dados relacionadas.

usando maybe_unserialize() em seu array de string serializado 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'
    )
);