我有以下div。我想mydiv1
,mydiv2
和mydiv3
。这可能吗?
代码:
<?php for($i =1; $i <3; $i++):?>
<div id="mydiv<?php $i?>" style="float:left">
<?php endfor;?>
答案 0 :(得分:5)
删除内部for循环,你将只获得3个div。
如果你想在div中动态分配id,请尝试:
$somearray = array(
'animal'=>'cat',
'place'=>'earth',
'food'=>'orange'
);
$i=1;
foreach ($somearray as $k=>$v){
echo '<div id="div'.$i.'">'. $v .'<div>';
$i++;
}
在你的代码中你获得了9个元素,因为你正在做的是首先遍历$somearray
元素,这是3次,然后在循环内你再次使用变量$i
循环3次所以3 * 3 = 9。你得到9个div。
答案 1 :(得分:3)
使用<?php echo $i; ?>
代替<?php $i?>
。
答案 2 :(得分:1)
你需要给予喜欢,
<div id="mydiv<?php echo $i;?>" style="float:left">
它会起作用。
答案 3 :(得分:1)
为什么你有9个元素?因为你生成了9个元素。
$somearray = array(
'animal'=>'cat',
'place'=>'earth',
'food'=>'orange'
);
foreach ($somearray as $k=>$v){
for($i=1;$i<=3;$i++){
echo '<div id="div'.$i.'">'. $v .'<div>';
}
}
让我详细说明:
上述代码块等于此代码块集。
其中$ somearray value ='animal'=&gt;'cat'执行此操作:
for($i=1;$i<=3;$i++){
echo '<div id="div'.$i.'">'. $v .'<div>';
}
和
其中$ somearray value ='place'=&gt;'earth'执行此操作:
for($i=1;$i<=3;$i++){
echo '<div id="div'.$i.'">'. $v .'<div>';
}
和
其中$ somearray value ='food'=&gt;'orange'执行此操作:
for($i=1;$i<=3;$i++){
echo '<div id="div'.$i.'">'. $v .'<div>';
}
所有这一切都是因为:
foreach ($somearray as $k=>$v){
...
}
答案 4 :(得分:1)
您不需要内部for
循环(3 x 3 = 9)。您只需要一个在外循环的每次迭代中递增的计数器:
<?php
$somearray = array(
'animal'=>'cat',
'place'=>'earth',
'food'=>'orange'
);
$counter = 1;
foreach ($somearray as $k=>$v){
echo '<div id="div'.$counter .'">'. $v .'<div>';
$counter++;
}
答案 5 :(得分:0)
<?php
for($i =1; $i <3; $i++){
echo <<<CODE
<div id="mydiv$i" style="float:left;">
CODE;
}
?>