我有一种感觉,我会因此而受到责骂,但这是问题所在.
$seq_numbers = range('1', '24');
foreach($seq_numbers as $seq_number)
{
Bullet <?php echo $seq_number;?>
// (this successfully creates - Bullet 1, Bullet 2, etc. -
below is the problem.
<?php echo $db_rs['bullet_($seqnumber)'];?>
} // this one doesn't work.
Run Code Online (Sandbox Code Playgroud)
我试过大括号{}
我基本上有一些名称相同的列,除了最后的数字(bullet_1,bullet_2,bullet_3等),并希望使用循环获得结果.
你的问题是,PHP不会替换用单引号括起来的字符串中的变量.您需要使用$db_rs["bullet_{$seq_number}"]或其中之一:
<?php
foreach ($seq_numbers as $seq_number) {
$key = 'bullet_' . $seq_number;
echo $db_rs[$key];
}
Run Code Online (Sandbox Code Playgroud)
更短,但不太清楚:
<?php
foreach ($seq_numbers as $seq_number) {
echo $db_rs['bullet_' . $seq_number];
}
Run Code Online (Sandbox Code Playgroud)
一种完全不同的方法是循环结果数组.那你甚至不需要$seq_numbers.就像事后的想法一样.
<?php
foreach ($db_rs as $key => $value) {
if (substr($key, 0, 7) == 'bullet_') {
echo $value;
}
}
Run Code Online (Sandbox Code Playgroud)
哦......并注意你如何拼写你的变量.你正在使用$seq_number和$seqnumber.