Me1000
Pôster original- 15 de julho de 2006
- 3 de fevereiro de 2009
Eu tenho um array multi dim em Javascript
Código:
array[0][0]
Preciso passar a matriz para PHP (provavelmente usando uma chamada Ajax) Eu tenho o framework jquery carregado para trabalhar.
Qual seria a melhor maneira de passar o array para o PHP?
Obrigado
angelwatt
Moderador emérito
- 16 de agosto de 2005
- USOS
- 3 de fevereiro de 2009
Adição: Alguns pequenos trechos. O exemplo usa uma matriz 2x3.
PHP:
// JavaScript function SendArray() { var arr = [[0,1], [2,3], [4,5]]; // 2x3 array var a = escape(arr.toString()); ajaxCall('phpPage.php?array='+a); // not a real function } // PHP // Grab passed value, decode the query passed in, then explode it based on the comma $passedArray = explode(',', rawurldecode($_GET['array'])); // result: 0,1,2,3,4,5 $newArray = array(); // process the string for ($a=0, $b=0, $c=count($passedArray); $b<$c;) { $newArray[$a][0] = $passedArray[$b++]; $newArray[$a++][1] = $passedArray[$b++]; }
Me1000
Pôster original- 15 de julho de 2006
- 3 de fevereiro de 2009
O primeiro é um nome de arquivo.
A segunda é uma legenda para o arquivo nomeado no primeiro escurecimento.
Analisarei seu código com mais detalhes amanhã, obrigado pela ajuda!
angelwatt
Moderador emérito
- 16 de agosto de 2005
- USOS
- 4 de fevereiro de 2009
Me1000 disse: Ambos os escurecimentos contêm uma pequena sequência de texto.
O primeiro é um nome de arquivo.
A segunda é uma legenda para o arquivo nomeado no primeiro escurecimento.
Analisarei seu código com mais detalhes amanhã, obrigado pela ajuda!
Contanto que essas strings não contenham vírgulas, acho que meu código deve dar uma boa vantagem. Não forneci tudo o que você precisa, mas se precisar de mais orientações ou esclarecimentos, é só me avisar.
Além disso, se mais alguém tiver ideias, sinta-se à vontade para compartilhar. Acabei de lançar a primeira ideia que me ocorreu.
Me1000
Pôster original- 15 de julho de 2006
- 4 de fevereiro de 2009
angelwatt
Moderador emérito
- 16 de agosto de 2005
- USOS
- 4 de fevereiro de 2009
Me1000 disse: posso ver as pessoas usando vírgulas na legenda ...
Hmm, boa escolha. Em seguida, uma alternativa é separar os valores da matriz usando algo diferente da vírgula. Portanto, uma nova função precisaria ser criada para usar em vez da função toString () que une os elementos do array. Talvez use '|' ou algum caractere raramente usado ou você pode usar alguns caracteres, por exemplo, '| @ |'. Então, no PHP, quando você explodir a string, você inserirá o (s) caractere (s) que usou como separador.
Isso é algo que você pode fazer ou precisa de orientação?
Me1000
Pôster original- 15 de julho de 2006
- 4 de fevereiro de 2009
Código:
function toStringComplex(array) { var string; for(var i = 0; i
Eu passo a string para o arquivo php
Código: window.location = 'parseData.php?data='+a;
Esse pode não ser o meu código final para enviá-lo para o arquivo php, mas agora é o mais fácil de trabalhar.
problema é,
meu url se parece com isto:
Código: parseData.php?data=undefined|@|IMG_0608%2CIMG_0608|@|blahblah|@|blahblah...
Essa parte 'indefinida' no início está causando um problema ao analisar os dados.
Alguma ideia do por que isso está acontecendo?
quando eu ligo
Código: alert(itemsAll[0][0]);
ele exibe o resultado correto, então eu sei que meu array original é bom angelwatt
Moderador emérito
-
- 16 de agosto de 2005
-
-
- USOS
- 4 de fevereiro de 2009
Sim, em seu loop for você tem string = string + ..., mas string não é declarada na primeira vez. Pouco antes do loop for, quando você declara a variável string, defina-a igual a '' para que tenha um valor inicial.
Além disso, você provavelmente precisará de um loop for duplo, já que deseja trabalhar com um array multidimensional. Me1000
Pôster original -
- 15 de julho de 2006
-
- 4 de fevereiro de 2009
arco!
Obrigado pela ajuda.
O código javascript final que terminei, para aqueles de vocês que estão interessados:
Código: function toStringComplex(array) { var string; for(var i = 0; i Savar
-
- 6 de junho de 2003
-
-
- Distrito da Colombia
- 4 de fevereiro de 2009
Parece que você entendeu, mas também pode fazer pesquisas sobre JSON.
JSON (Javascript Object Notation) permite codificar objetos javascript em uma notação compacta que pode ser enviada pela rede. A maioria das outras linguagens tem bibliotecas para analisar este JSON em objetos nativos. Tenho certeza de que se você pesquisar, terá uma ideia melhor do que quero dizer.
Publicações Populares