在Codeigniter视图中使用变量作为数组名称

时间:2014-03-15 00:24:18

标签: php arrays codeigniter variables

我通过了$data数组来查看。 $data数组就像:

$data = array('t0' => array('point' => 0), 't1' => array('point' => 2) .... );

我想要做的是在我的视图中使用这个数组如下:

<?php echo $t0['point']; ?> //It works!

但是我通过结构定义在for循环中执行此操作。因此,我需要将数值(近&#39; t&#39;字母)作为变量传递。 我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:1)

您需要发送数据中的计数,以便稍后运行循环,因此将$data数组更改为:

$data = array('tCount' => 10, 't0' => array('point' => 0), 't1' => array('point' => 2) .... );

请注意,在数组中添加tCount变量,应该告诉您在数组中发送了多少t项,我们将在下面的循环中使用它。

现在您可以使用variable variable,例如:

foreach ($i = 0; $i < $tCount); $i++) {
    $key = 't' . $i;
    echo($$key['point']);
}

请注意使用双$

答案 1 :(得分:1)

你可以这样做:

$count = count($data);   //if you know the count of $data
 for($i = 0; $i < $count; $i++) {
        $var = 't'.$i;
        echo ${$var}['point'];
    }

答案 2 :(得分:0)

如果您在for循环中使用它并且您的更改变量为$x,则可以使用:

<?php echo $data['t'.$x]['point']; ?>

所以,你可以这样做:

$data = array('t0' => array('point' => 0), 't1' => array('point' => 2) .... );
for ($x = 0; $x < count($data); $x++) {
    echo $data['t'.$x]['point'];
}