¿Cómo se pueden combinar dos valores de matrices en una matriz y guardar en la base de datos?

4

Estoy trabajando en los campos de meta de WordPress. Cuando las imágenes subidas por el usuario las imágenes se dimensionan en dos dimensiones, una es "pulgar" y la otra es "grande" y se dimensionan muy perfectamente. Guardo las dos imágenes de la ruta de la dimensión en la base de datos con diferentes teclas meta

para la imagen del pulgar wpc_resize_thumb_images y para las imágenes grandes wpc_resize_big_images .

Cuando guardo la ruta de las imágenes en la base de datos, se guarda perfectamente.

Aquí está mi código para guardarlos en DB:

Para imágenes grandes

$product_img_path[$count]['wpc_resize_big_img'] = $upload_dir['url'].'/'.$resize_img_name;
update_post_meta($post->ID, 'wpc_resize_big_images', $product_img_path);

En la base de datos se guarda así:

meta_key

  

wpc_resize_big_images

meta_value

a:2:{i:1;a:1:{s:18:"wpc_resize_big_img";s:79:"http://localhost/test/wp-content/uploads/2015/06/Wallpaper_55-500x375.jpg";}i:2;a:1:{s:18:"wpc_resize_big_img";s:79:"http://localhost/test/wp-content/uploads/2015/06/Wallpaper_51-500x333.jpg";}}

y para imágenes de pulgar

$product_img_path[$count]['wpc_resize_thumb_img'] = $upload_dir['url'].'/'.$resize_img_name;
update_post_meta($post->ID, 'wpc_resize_thumb_images', $product_img_path);

En la base de datos se guarda así:

meta_key

  

wpc_resize_thumb_images

meta_value

a:2:{i:1;a:1:{s:20:"wpc_resize_thumb_img";s:79:"http://localhost/test/wp-content/uploads/2015/06/Wallpaper_55-212x159.jpg";}i:2;a:1:{s:20:"wpc_resize_thumb_img";s:79:"http://localhost/test/wp-content/uploads/2015/06/Wallpaper_51-212x141.jpg";}}

Y cuando los imprimo me muestran un resultado como este:

Big Imaegs

$wpc_resize_big_images = get_post_meta($post->ID, 'wpc_resize_big_images', true);
echo "<pre>";
    print_r($wpc_resize_big_images);
echo "</pre>";

y el resultado es

Array
(
    [1] => Array
        (
            [wpc_resize_thumb_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_55-212x159.jpg
        )

    [2] => Array
        (
            [wpc_resize_thumb_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_51-212x141.jpg
        )
)

Imágenes del pulgar

$wpc_resize_thumb_images = get_post_meta($post->ID, 'wpc_resize_thumb_images', true);
echo "<pre>";
    print_r($wpc_resize_thumb_images);
echo "</pre>;

y el resultado es

Array
(
    [1] => Array
        (
            [wpc_resize_big_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_55-500x375.jpg
        )

    [2] => Array
        (
            [wpc_resize_big_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_51-500x333.jpg
        )
)

Ahora mi pregunta es cómo puedo fusionar y guardar en la base de datos ambas dimensiones con una clave meta y cuando imprimo la clave meta me da un resultado como este

Quiero esto

Array
(
    [1] => Array
        (
            [wpc_resize_thumb_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_55-212x159.jpg
            [wpc_resize_big_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_55-500x375.jpg
        )

    [2] => Array
        (
            [wpc_resize_thumb_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_51-212x141.jpg
            [wpc_resize_big_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_51-500x333.jpg
        )
)

Si entiendes el resultado que estoy esperando, dame la respuesta y dame la respuesta probada. Por favor, dame una respuesta urgente. Espero que entiendas mi pregunta

    
pregunta deemi-D-nadeem 18.06.2015 - 09:47

1 respuesta

3

Cuando esté guardando la matriz multidimensional, puede usar este código:

$product_img_path[$count]['wpc_resize_thumb_img'] = $upload_dir['url'].'/'.$resize_img_name;
$product_img_path[$count]['wpc_resize_bid_img'] = $upload_dir['url'].'/'.$resize_big_img_name;
update_post_meta($post->ID, 'wpc_images', $product_img_path);

De esa manera, puede obtener una matriz multidimensional como quiera:

Array
(
    [1] => Array
        (
            [wpc_resize_thumb_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_55-212x159.jpg
            [wpc_resize_big_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_55-500x375.jpg
        )

[2] => Array
    (
        [wpc_resize_thumb_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_51-212x141.jpg
        [wpc_resize_big_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_51-500x333.jpg
    )
)
    
respondido por el Omer 18.06.2015 - 10:30

Lea otras preguntas en las etiquetas