Ir para conteúdo
Fórum Script Brasil
  • 0

Array dentro de Array importação JSON


renatosilara

Pergunta

Boa tarde, Amigos estou a 2 dias apanhando para ordenar array dentro de array de uma resposta do webservice json.

quando dou um print_r ele me retorna assim:

Array
(
    [0] => Array
        (
            [type] => latlng
            [data] => Array
                (
                    [0] => Array
                        (
                            [0] => 25.698004
                            [1] => -80.162858
                        )

                    [1] => Array
                        (
                            [0] => 25.698011
                            [1] => -80.162854
                        )

                    [2] => Array
                        (
                            [0] => 25.698019
                            [1] => -80.16285
                        )

                    [3] => Array
                        (
                            [0] => 25.698026
                            [1] => -80.162845
                        )

                    [4] => Array
                        (
                            [0] => 25.698034
                            [1] => -80.162841
                        )

                    [5] => Array
                        (
                            [0] => 25.698041
                            [1] => -80.162837
                        )

                    [6] => Array
                        (
                            [0] => 25.698049
                            [1] => -80.162833
                        )

                    [7] => Array
                        (
                            [0] => 25.698056
                            [1] => -80.162829
                        )

                    [8] => Array
                        (
                            [0] => 25.698063
                            [1] => -80.162825
                        )

                    [9] => Array
                        (
                            [0] => 25.698071
                            [1] => -80.16282
                        )

                    [10] => Array
                        (
                            [0] => 25.698078
                            [1] => -80.162816
                        )

                    [11] => Array
                        (
                            [0] => 25.698086
                            [1] => -80.162812
                        )

                    [12] => Array
                        (
                            [0] => 25.698093
                            [1] => -80.162808
                        )

                    [13] => Array
                        (
                            [0] => 25.698101
                            [1] => -80.162804
                        )

Certo esta chamando todos os dados, agora quero gravar esses dados na minha base de dados, mas não consigo separar os arrays.

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0
<?php

$seuArray = [
    '0' => [
        'type' => 'latlng',
        'data' => [
            '0' => [
                '0' => 25.698004,
                '1' => -80.162858,
            ],
            '1' => [
                '0' => 25.698011,
                '1' => -80.162854,
            ],
            '2' => [
                '0' => 25.698019,
                '1' => -80.16285,
            ],
            '3' => [
                '0' => 25.698026,
                '1' => -80.162845,
            ],
            '4' => [
                '0' => 25.698034,
                '1' => -80.162841,
            ],
            '5' => [
                '0' => 25.698041,
                '1' => -80.162837,
            ],
            '6' => [
                '0' => 25.698049,
                '1' => -80.162833,
            ],
            '7' => [
                '0' => 25.698056,
                '1' => -80.162829,
            ],
            '8' => [
                '0' => 25.698063,
                '1' => -80.162825,
            ],
            '9' => [
                '0' => 25.698071,
                '1' => -80.16282,
            ],
            '10' => [
                '0' => 25.698078,
                '1' => -80.162816,
            ],
            '11' => [
                '0' => 25.698086,
                '1' => -80.162812,
            ],
            '12' => [
                '0' => 25.698093,
                '1' => -80.162808,
            ],
            '13' => [
                '0' => 25.698101,
                '1' => -80.162804,
            ],
        ]
    ]
];

foreach ($seuArray[0]['data'] as $value) {
    $inserts[] = '(' . implode(',', $value) . ')';
}
// montar query montada para gravar dados na base de dados, na tela:
echo 'INSERT INTO yourTable(latidude, longitude) VALUES '.implode(',', $inserts).';';

Aqui, funcionou bem...

Mas provavelmente o pessoal não entendeu o que você quer.

Tente perguntar de outra forma.

Link para o comentário
Compartilhar em outros sites

  • 0

Lowys parte do meu problema já foi resolvido com usas dicas, como você disse não formulei bem a pergunta mas agora preciso pular de um array pra outro, nesse exemplo que você colocou eu so enxergo o primeiro e não consigo pular para o próximo. Veja exemplo do codigo de retorno Json.

Array
(
    [0] => Array
        (
            [type] => latlng
            [data] => Array
                (
                    [0] => Array
                        (
                            [0] => 25.698004
                            [1] => -80.162858
                        )

                    [1] => Array
                        (
                            [0] => 25.698011
                            [1] => -80.162854
                        )

                    [2] => Array
                        (
                            [0] => 25.698019
                            [1] => -80.16285
                        )

                    [3] => Array
                        (
                            [0] => 25.698026
                            [1] => -80.162845
                        )

                    [4] => Array
                        (
                            [0] => 25.698034
                            [1] => -80.162841
                        )
  )

            [series_type] => distance
            [original_size] => 3299
            [resolution] => high
        )

    [1] => Array
        (
            [type] => time
            [data] => Array
                (
                    [0] => 0
                    [1] => 1
                    [2] => 2
                    [3] => 3
                    [4] => 4
                )

            [series_type] => distance
            [original_size] => 3299
            [resolution] => high
        )

    [2] => Array
        (
            [type] => distance
            [data] => Array
                (
                    [0] => 0
                    [1] => 0.9
                    [2] => 1.9
                    [3] => 2.8
                    [4] => 3.7
    )

)

Link para o comentário
Compartilhar em outros sites

  • 0

Olá!

Aaaaahhhh ttttaaaaahhhhh mosç! havia algo mais no teu array... Como não percebi?

Para atravessar para outros índices, provavelmente você vai precisar acrescentar mais uns dois ou três procedimentos.

Afinal, como você precisa da query montada no final? Como deve ficar a query pronta???

Link para o comentário
Compartilhar em outros sites

  • 0

Olá lowys, preciso separar todos esses valores e gravar na tabela como havia dito antes, estou usando o comando mas ele me retorna apenas o primeiro array, os outros não consegui acessá-los.

        foreach ($data2[0]['data'] as $key => $value) {
                foreach ($value as $k => $v) {
                    echo "$v";
                }
            }

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Renatos!

Afinal, como você precisa da query montada no final? Como deve ficar a query pronta???Todos os dados do array serão  gravados na mesma tabela?que versão de mysql você usa? Já viu o campo próprio pra salvar json?

https://dev.mysql.com/doc/refman/5.7/en/json.html

 

 

Editado por lowys
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...