使用计数器作为变量的一部分

时间:2011-02-14 10:09:59

标签: php variables for-loop counter

这是我想做的事情

for($i = 1; $i < 4; $i++) {

    $featuredImage$i = $featured['featuredImage$i'];
    $featuredText$i  = $featured['featuredText$i'];
    $featuredURL$i   = $featured['featuredURL$i'];

    }

我怎么能这样呢?

6 个答案:

答案 0 :(得分:2)

这样的东西
for($i = 1; $i < 4; $i++) {

    ${featuredImage . $i} = $featured['featuredImage' . $i];
    ${featuredText. $i}  = $featured['featuredText' . $i];
    ${featuredURL . $i}   = $featured['featuredURL' . $i];

    }

答案 1 :(得分:2)

你唯一需要学习的是PHP语言 此页面包含您需要的所有内容:http://php.net/types.string
无论这个特殊问题如何,都值得一读,因为字符串语法是最基本的PHP语法概念之一,无论如何你必须用心去学习它。

我必须添加的唯一注意事项:严格来说,您将使用计数器而不是变量的一部分,而是作为 string 的一部分,反过来,它将成为数组变量的关键。但从语法上讲,你是用字符串和变量组成一个字符串。

修改

喔。我没注意到最左边的变量 只有当我开始写另一个建议时,我才能看到它。

好吧,您也可以考虑使用嵌套数组 它可以这样使用

foreach ($featured as $item) {

    echo $item['featuredImage'];
    echo $item['featuredText'];
    echo $item['featuredURL'];
}

或做任何你想对这些变量做的事情。

很高兴看到引导您解决这个问题的完整背景,因此可以为您的特定情况提供最佳解决方案。
可能你需要大幅度重新设计你的数据库......

答案 2 :(得分:1)

您需要将变量连接到字符串的末尾,如下所示:

for($i = 1; $i < 4; $i++) {

    $featuredImage$i = $featured['featuredImage'.$i];
    $featuredText$i  = $featured['featuredText'.$i];
    $featuredURL$i   = $featured['featuredURL'.$i];

}

请记住,变量不能在带单引号的字符串中使用,如果你想在字符串中放一个变量而使用双引号,例如:

$world="World!";
$str1='Hello $world'; // outputs "Hello $world"
$str2="Hello $world"; // outputs "Hello World!"

你可以在带有双引号的字符串中使用变量,有时这比打入和退出字符串更容易,但是使用单引号必须将其连接到位;

答案 3 :(得分:1)

这些将起作用:

for($i = 1; $i < 4; $i++) {
    $featuredImage$i = $featured["featuredImage$i"];   // $variable works inside double quotes
    $featuredText$i  = $featured['featuredText' . $i]; // single quote and string concatenation
    $featuredURL$i   = $featured["featuredURL{$i}"];   // $variable can be enclosed inside {} for cases such as $featured["featuredURL{$i}_href"]
                                                       // to have php substitute the variable $i instead of $i_href
}

答案 4 :(得分:1)

我得到答案:试试吧

${"featuredImage" . $i} = $featured['featuredImage' . $i];
${"featuredText". $i}  = $featured['featuredText' . $i];
${"featuredURL" . $i}   = $featured['featuredURL' . $i];

答案 5 :(得分:0)

for($i = 1; $i < 4; $i++) {

    $featuredImage$i = $featured['featuredImage' .$i];
    $featuredText$i  = $featured['featuredText' .$i];
    $featuredURL$i   = $featured['featuredURL' .$i];

    }