2016-10-31 12 views
1

可変変数を使用しようとしています。 foreachループで$typeを使用すると、$week['one']$month['one']の値を取得したいと考えています。PHPで可変変数を使用して仲介

<?php foreach ($types as $type): ?> 
      <?= $$type['one']; ?><br /> 
      <?= $$type['two']; ?><br /> 
    <?php endforeach; ?> 

    <?php foreach ($types as $type): ?> 
      <?= ${$type}['one']; ?><br /> 
      <?= ${$type}['two']; ?><br /> 
    <?php endforeach; ?> 

    <?php foreach ($types as $type): ?> 
      <?= $($type)['one']; ?><br /> 
      <?= $($type)['two']; ?><br /> 
    <?php endforeach; ?> 

すべてが構文エラーでresulようだ:私は成功せずに試してみた

$types = array(
     'week', 
     'month' 
    ); 

    $week = array(
     'one' => 1.2, 
     'two' => 0.13, 
    ); 

    $month = array(
     'one' => 1.2, 
     'two' => 0.13, 
    ); 

方法。間違った構文を使用していますか?

+1

http://php.net/manual/it/language.variables.variable.php#50912 –

答えて

1

は、このバリアントを使用します。

<?php foreach ($types as $type): ?> 
     <?= ${$type}['one']; ?><br /> 
     <?= ${$type}['two']; ?><br /> 
<?php endforeach; ?> 

をここでそれを確認してください:https://3v4l.org/H7Pn7を。

+0

これにはどのようなPHPバージョンが必要ですか。それは私にとってはうまくいかないようです。そして記録のために...私はdownvotingではなかった:) – Peter

+0

もう一度チェックしてください、私はリンクを追加しました。最初の答えは> = 7のみでした。 実際には、この正しい変形があります。 –

+0

大変申し訳ございません。私はtypoを持っていました:)私は '$ {$ type} 'week' '' – Peter

関連する問題