配列にデータを格納する方法についてのアドバイスをお願いします

このQ&Aのポイント
  • 配列にデータを格納する方法についてアドバイスをお願いします。
  • 質問者は配列にデータを格納しようとしていますが、うまくいっていないようです。
  • 具体的なコードも示されていますので、それに対してアドバイスをお願いします。
回答を見る
  • ベストアンサー

NEW ARRAY!!

配列にデータを格納しようとしているのですが、 うまくいきません。アドバイスをお願いいたします。 -------------- <?php <省略> $number = 100; <省略> ?> <script language="javascript"> <!-- Begin arr = new Array(10); for(i=0;i<10;i++){ arr[i] = <?=$number?> - 1; } // End --> --------------------------- 配列arrにデータ('100','99','98', ・・・, '91')と 格納したいのですが、うまくいきません。 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • eim-yuuma
  • ベストアンサー率37% (10/27)
回答No.1

PHPに明るくないのですが・・ $number の値の変更が必要ではないかと・・ PHPを使わなければ <script language="javascript"> <!-- Begin arr = new Array(10); for(i=0;i<10;i++){ arr[i] = $number - 1; $number = $number -1; ///←この一行に相対する処理が必要ではないのかと・・ } // End --> 見当違いだったらごめんなさい・・

toopeaan
質問者

お礼

すみません。なんとか対処できました。 どうも arr = new Array(10); がおかしいかと。 arr=new Array(10); としてスペース無くしたらうまくいきました。 そんなこと?

toopeaan
質問者

補足

すみません!!ソース間違えていました。 arr[i] = $number - 1; ではなくて、 arr[i] = $number - i; です。すみません。 IEで確認すると左下に『エラーが発生しました。』 って出ます。 エラー内容は『オブジェクトを指定してください』との事です。 質問のソースは一部分なんですが、質問のソースを以下のようにすると 問題はないためおそらくこの部分だと推測して質問させていただきました。 ----------------------------------------- arr new Array("100", "99", ・・・, "91"); ----------------------------------------- べた書きだと格好わるいので(泣)

関連するQ&A

  • PHPの配列をjavascriptへ渡したい

    PHPの配列をjavascriptの配列に渡したいのですがやり方がわかりません。 変数の渡し方ならわかるのですが配列はどう渡せばいいのでしょうか? for文を使って渡せばいいと思うんですがどうやればいいか分かりません。 <?php $filedata=file("data.txt");//javascriptに渡したい配列 ?> <script language="javascript"> var a=new Array();//PHPの配列をこの配列に入れたい </script> 何方か教えてください。

    • ベストアンサー
    • PHP
  • 配列について。new Arrayの省略形?

    下記No.4さんのfilterのトコで分からないことがあるので教えてください http://okwave.jp/qa/q8217521.html (data.filter (isNotNull, ary), ary)は、 最終的に(["1", "5"], [0, 3])になると思うのですが、 それがどうして最後で[0, 3]になるのでしょうか? (["1", "5"], [0, 3])は、new Arrayの省略形でしょうか? この書き方の意味が分かりません。 多次元配列みたいになるのではなく、上書きされていく?

  • 多次元配列を、1次元の配列にする関数を書いてください。

    以下のように、多次元配列の配列をペチャンコにする関数(array_flatten)ってどうかきますか? <?php $arr[0] = 'a'; $arr[1][0] = 'b'; $arr[1][1][0] = 'c'; $arr[1][1][1][0] = 'd'; $arr[1][1][1][1][0] = 'e'; $arr[1][1][1][2] = 'f'; $arr[1][1][2] = 'g'; $arr[1][2] = 'h'; $arr[2] = 'i'; function array_flatten($arg){   処理; } $new_arr = array_flatten($arr); print_r($new_arr); ?> ↓ Array (   [0] => a   [1] => b   [2] => c   [3] => d   [4] => e   [5] => f   [6] => g   [7] => h   [8] => i ) ※関数のなかで、ペチャンコの配列を格納するための新しい配列を宣言すると、 同関数を再帰的に呼び出したら、その配列が初期化されますよね?

    • ベストアンサー
    • PHP
  • Array.newが必要ないのはなぜですか?

    以下のようなクラス拡張をしてみました。 Class String def count_word Array.new(ary) ary = self.split(/\s/) return ary.size end end ここで、Array.new()のところでエラーになってしまいます。 感覚的に配列で受け取るようにするべきだと思っていたの ですが、この1行を外すと正常に動きます。 なぜ配列を生成するのがまずいのでしょうか?

    • ベストアンサー
    • Ruby
  • PHPで取得したデータの扱い

    653と申します。宜しくお願いいたします。 現在、PHPとJavaScript, HTMLを用いてDBを検索するアプリケーションを 作成中です。 ------------------------------------------------------- <?php <省略> $val1 = [あるselect文で検索されたユニークのデータ]; $val2 = [あるselect文で検索されたユニークのデータ(※上記select文と異なる)]; echo($valu1); echo($valu2);  <省略> ?> <script language="javascript"> <!-- Begin alert(<?=$value1?>); alert(<?=$value2?>); <省略> // End --> </script> <以下省略> ------------------------------------------ 上記のようなソースを書きました。 PHP内のecho関数で画面に表示させると $value1 ⇒ '950'、$value2⇒ '410'と出るとします。 この値は実際にDBに格納されているデータと同じ為、正常値と みなします。 しかしJavaScriptないのAlertで表示させると $value1 ⇒ '950'、$value2⇒ '299'と出てしまいます。 この(特に$value2)データの内容が変わってしまうのは なぜでしょうか? $value1, $value2の順番を替えても同じ結果になります。 PHPで取得したデータを格納した変数をJavaScript内で 使用するには何か特別な使用方法などがあるのでしょうか? もしくは上記の使い方が間違っているのでしょうか? ずっと悩んでます・・・(泣)

  • 関数に配列を渡す方法?

    <script language="javascript"> <!-- function Test(va, arr){ } --> </script> ---HTML onClick="javascript:Test(this.form,array('0','3'));" こういうような事をしたい場合どうやってHTMLの方から配列を渡したらいいのでしょうか?

  • 連想配列(PHP 対 JavaScript)

    こんにちは。質問をさせてください。 PHPでOracleのデータを取得してそのデータを連想配列に格納するとします。 /------- PHP内でのソース -----------------/ (例) $Count:検索データ数  for($cnt=0;$cnt<$Count;$cnt++){ $data[$cnt] = "取得したデータ";  Fech(次のレコードを取得する); } 上記で取得した連想配列の値をJavaScriptでしようしたいのですが うまくいきません。 JavaScriptではArrayに取得したデータを格納したいのです。 (例) /-- JavaScript内のソース Afor2=new Array("取得data1","取得data2",・・・"最後の取得data"); としてHTMLの何かのイベント時にしようしたいと考えています。 今僕は以下のような動きをしたいです。 /----以下、JavaScriptでの記述-----------------/ var New_Array=new Array(5); for(i=0;i<<?=$Count?>;i++){ document.form.cmb_box.options[i] = new Option(<?=$data[i]?>, i); } のようなことをしたいのですが。 (もちろん上記はだめですが・・・) 質問がわかりにくくて大変もうしわけありませんが、 アドバイス、質問などよろしくお願いいたします。

    • 締切済み
    • PHP
  • ActionScriptで配列をクリアする方法を教えてください。

    ActionScriptで、オブジェクトを格納した配列をクリアする正しい方法を教えてください。 具体的には、 ・new Array() で配列を生成する。 ・new Object() で生成したオブジェクトを配列に格納する。 ・配列の中身を処理したあと、配列を一度クリアする。 ・配列に別のオブジェクトを格納する。 ような処理をしたいのですが、メモリリークを起こさずに配列をクリアするにはどうしたらいいでしょうか? 例えば、イメージはこんな感じです。(意味のないコードですが) // 配列の生成 var arr = new Array(); // 配列にオブジェクトを格納 for (var i = 0; i < 5; i++) { var obj = new Object(); obj.num = i; } // 配列のクリア arr.length = 0; // クリアした配列に別のオブジェクトを格納 for (var i = 0; i < 5; i++) { var obj = new Object(); obj.num = i * 2; } 上記のコードで、arr.length = 0; で配列をクリアしていますが、これで配列に格納されたオブジェクトが確保したメモリがすべて解放されるでしょうか? あるいは、配列の内容がなくなるまで pop() 等で取り出す等の処理をする必要があるでしょうか? 以上よろしくお願いします。

    • ベストアンサー
    • Flash
  • 割り切れなくなるまで分割して配列に入れたい

    <?php make(7); function make($n) { $arr = array($n); $arr_new = division_arr($arr); print_r($arr_new); } function division_arr($arr) { for ($i = 0; $i < count($arr); $i++) { $arr_new[$i] = division($arr[$i]); if ($arr_new[$i][0] > 0) { return division_arr($arr_new[$i]); } else { } } return $arr_new; } function division($n) { $a = $b = floor($n / 2); if ($n % 2 != 0) { $b+=1; } return array($a, $b); } /* array( [3,4], [[1,2],[2,2]], [[0,1],[1,1],[1,1],[1,1]] ); 再帰的に配列を分割していき、最終的にこのような出力にしたいです。 */ ?> 教えて下さい。よろしくお願いいたします。m(_ _)m

    • ベストアンサー
    • PHP
  • phpからjsへ

    はじめまして。 jQueryの$.ajax関数のGETを使って phpからjavascriptに echo 'document.write("<script type='text/javascript'>var like_arr=new Array(1,1,1,1,1,1,1,1,1,1,1,1,1)</scr"+"ipt>");' と値を返してarrayを作成しようと思っています。 しかしこの返し方だと ブラウザに表示した時 document.write(" とhtml上に表示されてしまいarrayが作成されません。 しかしjsに直接 document.write("<script type='text/javascript'>var like_arr=new Array(1,1,1,1,1,1,1,1,1,1,1,1,1)</scr"+"ipt>"); と書き込んでみるとarrayが存在しています。 どうしたらphpからの値でdocument.writeをする事が出来ますか? 分かる方いらっしゃいませんか? よろしくお願いします。

    • 締切済み
    • PHP

専門家に質問してみよう