人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPの繰り返し処理と変数の型について教えてください
PHP初心者です。
以下のコードをすっきりとスマートに書きたいのですが・・
$pointAL = $pointA1+$pointA2+$pointA3+$pointA4+$pointA5+$pointA6+$pointA7+$pointA8+$pointA9+$pointA10 ;
for文と変数の型がポイントなところまではわかったのですが
ご教授ください

●質問者: mmmmml
●カテゴリ:インターネット ウェブ制作
✍キーワード:PHP コード スマート ポイント 初心者
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● きゃづみぃ
●27ポイント

$pointA1などは 配列にすれば 以下のようにして forで扱えます。

<?php
$pointAL = "";

$pointA[1] ="1";
$pointA[2] ="2";
$pointA[3] ="3";
$pointA[4] ="4";
$pointA[5] ="5";
$pointA[6] ="6";
$pointA[7] ="7";
$pointA[8] ="8";
$pointA[9] ="9";
$pointA[10] ="10";


for($i = 1; $i <= 10;$i++){
 
 $pointAL = $pointAL . $pointA[$i];
 
 
}

 print $pointAL;

?>

変数の内容が数値ならば

$pointAL = $pointAL . $pointA[$i];

の行を

$pointAL = $pointAL + $pointA[$i];

にしてください。


2 ● horonict
●27ポイント

可変変数(http://www.php.net/manual/ja/language.variables.variable.php)というものを使い、以下のように記述します。

ご質問の通り、$pointA1 + $pointA2 + ... + $pointA10 を合計します。

$pointA = 'pointA';
$pointAL = 0;
for ($i = 1; $i <= 10; $i++) $pointAL += ${$pointA . $i};

しかし、可変変数は初心者向けではありません。配列(http://www.php.net/manual/ja/language.types.array.php)を使うのが無難です。

配列を使うと変数名が変わり、$pointA[1] + $pointA[2] +... + $pointA[10] の合計をする形になります。

たとえば以下のようになります。

<?php
 $pointA = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
 $pointAL = 0;
 for ($i = 1; $i <= 10; $i++) $pointAL += $pointA[$i];
 echo $pointAL;
?>

3 ● regnif
●26ポイント

$pointA1?$pointA10という変数名に数字が入ってしまっているなら、

$pointA1 = 1;
$pointA2 = 2;
$pointA3 = 3;
$pointA4 = 4;
$pointA5 = 5;
$pointA6 = 6;
$pointA7 = 7;
$pointA8 = 8;
$pointA9 = 9;
$pointA10 =10;
for ( $i = 1; $i <= 10; $i++ ) {
 $temp = "pointA" . $i;
 $pointAL += $$temp;
}
echo $pointAL;

です。

「変数の型がポイント」というのが配列を指しているのであれば、

$pointA[1] = 1;
$pointA[2] = 2;
$pointA[3] = 3;
$pointA[4] = 4;
$pointA[5] = 5;
$pointA[6] = 6;
$pointA[7] = 7;
$pointA[8] = 8;
$pointA[9] = 9;
$pointA[10] =10;
for ( $i = 1; $i <= 10; $i++ ) {
 $pointAL += $pointA[$i];
}
echo $pointAL;

のほうがスマート。

ただし、通常は配列は0番から始まります。今回はわかりやすく、かつ特にこのサンプルだけであれば問題ないので、1番から始めています。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ