• ベストアンサー

変数のパターン処理

配列ではありませんが次のような番号がついた変数に連番の値を入れる処理をしたいときどうするのが一番賢いやり方でしょうか $parameter1="taro1号"; $parameter2="taro2号"; $parameter3="taro3号"; $parameter4="taro4号"; … $parameter100="taro100号"; for文を使ったりして、もっとスッキリ表すこととかできないでしょうか? そのときの考え方やヒントを教えてほしいです

  • PHP
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • gmac
  • ベストアンサー率70% (12/17)
回答No.2

可変変数を使います。 foreach(range(1,100) as $num) { $parameter{$num} = 'taro'.$num.'号'; }

参考URL:
http://jp.php.net/manual/ja/language.variables.variable.php
SariGEnNu
質問者

お礼

ありがとうございます. こんないい方法もあるんですね ぜひ、利用できたらいいです

その他の回答 (1)

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

for($i=1;$i<=100;$i++){ $hoge = 'parameter' .$i; $$hoge = "taro" .$i ."号"; } こんなんで。 このような例だと配列に入れたほうがすっきりする気がしますが。

SariGEnNu
質問者

お礼

ありがとうございます. 直ぐにでも試してみたいと思います. 配列も考えたいと思います

関連するQ&A

  • 変数のパターン処理パート2

    前回、http://oshiete1.goo.ne.jp/kotaeru.php3?q=1456597でも質問して可変変数などの意味は理解したつもりでいますが、次のことがなぜかわかりませんでした というより上手くいきませんでした. 間違っているところを指摘していただけると助かります. あるコードの一部で unset($_SESSION['parameter1']); unset($_SESSION['parameter2']); unset($_SESSION['parameter3']); unset($_SESSION['parameter4']); unset($_SESSION['parameter5']); の部分を次のように替えるとエラってしまいます for($i=1;$i<6;$i++){ unset($_SESSION['Parameter'.$i.\']);} こうでなくどう直せばいいかせめて、ヒントだけでも教えていただけないでしょうか. この直し方だと可変変数は関係ないようにも思えますが、 本当は関係あると考えられるのでしょうか?

    • ベストアンサー
    • PHP
  • php 変数(変数名)の結合について。

    php 変数(変数名)の結合について。 こんばんは。 phpでホームページを作成しておりますが どうも上手く動かないのでこちらに質問させて頂きました。 変数名$testに数字を連番で付け、 $test0 = (値1,値2,値3,・・・) $test1 = (値1,値2,値3,・・・) $test2 = (値1,値2,値3,・・・) と各変数に配列を代入したいと考えています。 そこで、for文を使用し、 for($i=0; $i<10; $++) {  $test.$i = (値1,値2,値3,・・・) } と記述た所、上手く動作せずに困っております。 二次元配列での代入は可能だと思いますが $test[0] = (値1,値2,値3,・・・) $test[1] = (値1,値2,値3,・・・) $test[2] = (値1,値2,値3,・・・) for($i=0; $i<10; $++) {  $test[$i] = (値1,値2,値3,・・・) } ※ 実験してませんけど・・・。 なるべく二次元は使わないで処理したく思いますが やはり二次元配列のが合理的でしょうか・・・。 その点も踏まえ、何方かご教授頂ければ幸いです。 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • 配列を使わずに、数字(連番)を使用した変数に値を代入したい。

    配列を使わずに、数字(連番)を使用した変数に値を代入したい。 お世話になっております。 配列を使わずに、数字(連番)を使用した変数($a1,$a2,$a3・・・)に、 forループを使って、値を代入したい。 #================================= for($i;$i<10;$i++){ $a??? = 10; #←ここがわかりません。 } #================================= どなたかご存知の方、ご教授ください。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • HTMLからFLASHに変数を送り、内部で取得する処理(変数名バラバラ・変数の数不定)

    HTMLから渡された全てのパラメータの 「変数名」「値」 を取得したいのです。 そこでひっかかっている条件があり 「呼ばれる度にパラメータの数、名前が違う」 という事です。 通常、変数名がわかっている場合は _level0.変数名 で値の取得ができるのですが 変数名がわからない事には どうやってもアクセスができないでしょうか? 入力側でパラメータを test.swf?key0=aaa&value0=111&key1=bbb&value1=222&key2=ccc&value2=333・・・ などと変数名をあらかじめ決めておけば FLASH内部でfor文を使用し、取得できそうなのですが 極力避けたいと思っています。 根本的に何か違うような気もするのですが アドバイスを頂けると助かります。 =============== 動作環境 Windows XP FLASH8 ActionScript2.0 IE6 ===============

    • ベストアンサー
    • Flash
  • for文を簡単な処理に書き変えたい

    いま、配列を作る作業をしているのですが、for文を使うと、forをいくつ書けば良いのか分からない状態です。 作ろうとしている配列が、A[X][Y]で、Xの要素数は固定で良いのですが、Yの要素数が実験のたびに変動するためです。そして、処理したいのが、この配列の各列の値を適当な値(このfor文の前に値が決まっています)を代入することです。 例えば、for文だと、Y=3のときには for(i=0;i<○;i++){ for(j=0;j<○;j++){ for(k=0;k<○;k++){ A[line][0] = C[i];//(Cという配列のi成分) A[line][1] = B[j]; A[line][2] = E[k]; } } } のように書くような内容なのですが、Yが増えると、for文も増やさないといけません。 ここで、再帰処理のような方法をつかってうまく書きたいのですが、どう書いたら良いのか分かりません。 一般的なfor文の書き換え方みたいなことでも良いので、教えて頂けませんか?宜しくお願いします。

  • 変数の配列の使い方教えてください。(初心者)

    VBで関数を作ってるのですが、 Function kansuu as Long Dim a(50) as Long Do (処理) Loop End Function ↑こんな形になってまして、変数a(0)~a(50)にはそれぞれ値が入ってます。{a(50)まで全部使うとは限りません。} Do文を抜ける条件として、途中に「もしa(0)~a(50)の値が全て"0"ならDo文を抜ける」という処理を入れたいのですが、変数aの"配列要素全て"という文の記述方法が分かりません。どなたか教えてください

  • 必要な変数について

    プログラム初心者です。 現在他の人が書いたプログラムを読む練習をしています。 ひとつだけコツをどなたかに教えていただきたいです。 それぞれのプログラムの中で、もしくはプログラム(ファイル)で書かれているある一部の処理の中で、 どういうものを変数として用意し、流れを書いていくかというコツがあれば教えてください。 感覚的なこと、慣れだと思うのですが。 "プログラムの処理の中で必要な値、パラメータを変数として挙げてみる" "算数でよく使うx+y=10のように一般式を作るような感じで考えてみる" Webで検索するといろいろなヒントがあるのですが。。 ただモヤモヤした感覚のままで、コツが掴めていません。 よろしくお願いします。

  • phpのセッションについて質問です。

    今、for文を使ってsession変数に値を入れて行く処理を作っております。そのためにセッション配列を使おうと考えておりますが、使い方が分からないので教えてください。一応、自分なりに書いてみたのですが動きませんでした。処理的には、一つ目のfor文で値をsessionの配列に一つずつ入れていき、二つ目のfor文でその格納したのを表示するようにしたいです。 <?php session_start(); for($a=1;$a<10;$a++){ $_SESSION['no'][$a]=$a; } for($b=1;$b<10;$b++){ print("こんにちわ".$SESSION['no'][$b]); } ?> ご回答のほどをよろしくお願いします。

    • ベストアンサー
    • PHP
  • 変数代入の記述の仕方

    次のような場合、私はソースでは一行にあまり長くしたくないんです.理由は見づらくなるからです. $parameter=長い値(=値の部分1…値の部分n) $長い変数名(=変数名の部分1…変数名の部分n)=値 上の2パターンの場合できれば、 $parameter=値の部分1       …       値の部分n あるいは、 $parameter = 値の部分1  …  値の部分n のように適当に改行してソースコードを記述したいのですが、この場合、どのような書き方が許されるのでしょうか

    • ベストアンサー
    • PHP
  • 関数への変数の受け渡しについて

    関数に変数を受け渡すとき、配列とそれ以外の変数では受け渡すものが違いますよね。 変数の場合は、変数の値を関数側の変数にコピーする。 配列の場合は、配列そのもの(配列のポインタ)を関数に渡す。 なぜ配列の場合は値のコピーではなくて、ポインタを渡す仕様になっているんでしょうか。 ひとつめは、どのような意図でそのような仕様になっているのかという質問です。 もうひとつは、関数に配列の値だけを渡すにはどうすればいいのか、つまり元の配列のほうの値は書き換えないで欲しいというときはどうすればよいのかという質問です。 よろしくおねがいします。

専門家に質問してみよう