Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gui Siani

Converter um array php para Javascript

Recommended Posts

Estou com dificuldade em converter um array php (dentro deste array possui outros arrays) para Javascript. O JS retorna cada caractere como um dado de uma gigantesca array.

 

O array em PHP está no formato a seguir:

 

Array
(
    [0] => Array
        (
            [popup] => http://localhost/loja/image/cache/data/ipod_classic_4-900x900.jpg
            [thumb] => http://localhost/loja/image/cache/data/ipod_classic_4-49x49.jpg
            [thumb1] => http://localhost/loja/image/cache/data/ipod_classic_4-400x400.jpg
            [mobi] => http://localhost/loja/image/cache/data/ipod_classic_4-310x310.jpg
        )

    [1] => Array
        (
            [popup] => http://localhost/loja/image/cache/data/ipod_classic_3-900x900.jpg
            [thumb] => http://localhost/loja/image/cache/data/ipod_classic_3-49x49.jpg
            [thumb1] => http://localhost/loja/image/cache/data/ipod_classic_3-400x400.jpg
            [mobi] => http://localhost/loja/image/cache/data/ipod_classic_3-310x310.jpg
        )

    [2] => Array
        (
            [popup] => http://localhost/loja/image/cache/data/ipod_classic_2-900x900.jpg
            [thumb] => http://localhost/loja/image/cache/data/ipod_classic_2-49x49.jpg
            [thumb1] => http://localhost/loja/image/cache/data/ipod_classic_2-400x400.jpg
            [mobi] => http://localhost/loja/image/cache/data/ipod_classic_2-310x310.jpg
        )

)

E o script está assim:

 

    <script type="text/javascript"><!--
    var images = '<?php echo json_encode($images); ?>';

    $(document).ready(function() {

      if(images) {
        console.log(images);
        for(i = 0; i < images.length; i++) {
          if(window.innerWidth > 768) {
            $(".image-additional").append('<a href="#" title="<?php echo $heading_title; ?>" data-image="'+ images[i].thumb +'" data-zoom-image="'+ images[i].popup +'"><img src="'+ images[i].thumb +'" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a>');
          } else {
            $(".image-additional").append('<a href="#" title="<?php echo $heading_title; ?>" data-image="'+ images[i].mobi +'" data-zoom-image="'+ images[i].popup +'"><img src="'+ images[i].thumb +'" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a>');
          }
        }
      }
    });
    --></script>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, e qual a dificuldade ?

 

Qual o problema/erro ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não apresenta erro.. Como eu mencionei acima, o JS retorna cada caractere como um dado de uma gigantesca array, ou seja, o js retorna um array com mais de 900 dados, sendo cada um deles, cada caractere das informações contidas na matriz, sacou?

 

____________________________________________________________________________________________

 

Já identifiquei o erro. Não deveria ter aspas simples ao enviar o array php via json_encode para a variável do Javascript

 

Antes:

var images = '<?php echo json_encode($images); ?>';
Corrigido:
var images = <?php echo json_encode($images); ?>;

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.