フォーラム

JS多次元配列をPHPに渡す

Me1000

オリジナルポスター
2006年7月15日
  • 2009年2月3日
ワイヤレスで投稿(Mozilla / 5.0(iPhone; U; Mac OSXのようなCPUiPhone OS 2_2; en-us)AppleWebKit / 525.18.1(GeckoのようなKHTML)バージョン/3.1.1モバイル/5G77Safari/525.20)

Javascriptに複数のdim配列があります
コード:array[0][0]配列をPHPに渡す必要があります(おそらくAjax呼び出しを使用して)
jqueryフレームワークをロードして使用しています。

配列をPHPに渡す最良の方法は何でしょうか?

ありがとう

エンジェルワット

モデレーター名誉
2005年8月16日
使用法


  • 2009年2月3日
両方の次元の配列内の情報の長さとタイプについて詳しく説明できますか?それは私たちの何人かに最良のアプローチについてのいくつかのアイデアを与えるかもしれません。

添加: いくつかの小さなスニペット。例では、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

オリジナルポスター
2006年7月15日
  • 2009年2月3日
両方の薄暗い部分には小さなテキスト文字列が含まれています。
1つ目はファイル名です。
2つ目は、最初のdimで名前が付けられたファイルのキャプションです。

明日、あなたのコードをさらに見ていきます。助けてくれてありがとう!
:アップル:

エンジェルワット

モデレーター名誉
2005年8月16日
使用法
  • 2009年2月4日
Me1000によると:両方の薄暗い部分に小さなテキスト文字列が含まれています。
1つ目はファイル名です。
2つ目は、最初のdimで名前が付けられたファイルのキャプションです。

明日、あなたのコードをさらに見ていきます。助けてくれてありがとう!
:アップル:

それらの文字列にコンマが含まれていない限り、私のコードは良いスタートを切るはずだと思います。私はあなたが必要とするすべてを提供しませんでした、しかしあなたがさらなるガイダンスまたは説明を必要とするならば、ただ私に知らせてください。

また、他にアイデアがあれば、遠慮なく共有してください。思いついた最初のアイデアを出しました。

Me1000

オリジナルポスター
2006年7月15日
  • 2009年2月4日
キャプションにカンマを使用している人を見ることができました...

エンジェルワット

モデレーター名誉
2005年8月16日
使用法
  • 2009年2月4日
Me1000のコメント:キャプションにコンマを使用している人を見ることができました...

うーん、いいね。次に、コンマ以外のものを使用して配列値を区切ることもできます。したがって、配列要素を結合するtoString()関数ではなく、使用する新しい関数を作成する必要があります。たぶん '|'を使用してくださいまたは、まれにしか使用されない文字、または「| @ |」などのいくつかの文字を使用できます。次に、PHPで文字列を展開するときに、区切り文字として使用した文字を入力します。

それはあなたにできることですか、それともガイダンスが必要ですか?

Me1000

オリジナルポスター
2006年7月15日
  • 2009年2月4日
さて、これは私が思いついたものです...
コード:function toStringComplex(array) { var string; for(var i = 0; i
文字列をphpファイルに渡します

コード: window.location = 'parseData.php?data='+a;これは、phpファイルに送信するための私の最終的なコードではないかもしれませんが、今のところ、これが最も簡単に操作できます。

問題は、
私のURLは次のようになります:
コード:parseData.php?data=undefined|@|IMG_0608%2CIMG_0608|@|blahblah|@|blahblah...
最初の「未定義」の部分は、データを解析するときに問題を引き起こしています。

なぜそれが起こっているのか考えていますか?

私が電話するとき
コード:alert(itemsAll[0][0]);正しい結果が表示されるので、元の配列が適切であることがわかります。

エンジェルワット

モデレーター名誉
2005年8月16日
使用法
  • 2009年2月4日
はい、forループにはstring = string + ...がありますが、stringは最初から宣言されていません。文字列変数を宣言するときのforループの直前で、それを ''に設定して、開始値を設定します。

また、多次元配列で作業したいので、おそらくdoubleforループが必要になります。

Me1000

オリジナルポスター
2006年7月15日
  • 2009年2月4日
弓!

ご協力ありがとうございました。


興味のある方のために、私が最終的に作成した最後のjavascriptコード:

コード:function toStringComplex(array) { var string; for(var i = 0; i

savar

2003年6月6日
コロンビア特別区
  • 2009年2月4日
あなたはそれを理解したようですが、JSONについても調査したいと思うかもしれません。

JSON(Javascript Object Notation)を使用すると、JavaScriptオブジェクトをコンパクトな表記でエンコードしてネットワーク経由で送信できます。他のほとんどの言語には、このJSONをネイティブオブジェクトに解析するためのライブラリがあります。あなたがそれを研究するならば、あなたは私が何を意味するかについてより良い考えを得るだろうと確信しています。