首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

echo数组有关问题

2012-03-12 
echo数组问题?phpwhile($rowmysql_fetch_array($result)){list($x1,$y1) explode(|,$row[xyz1])l

echo数组问题
<?php
while($row=mysql_fetch_array($result))
{
list($x1,$y1) = explode('|',$row['xyz1']);
list($x2,$y2) = explode('|',$row['xyz2']);
……
$left=array($x1,$x2,……);
$top=array($y1,$y2,……);
}
 $notes.= '<div class="note" style="left:'.$left.'px;top:'.$top.'px"></div>'; 
?>

 <?php echo $notes;?> 

$x1,$x2,$y1,$y2存放的是DIV的TOP,LEFT坐标
但echo出来后只能看到一个DIV 而且并没有取得$left,$top的值

如果我写成
<div class="note" style="left:'.$left[0].'px;top:'.$top[0].'px"></div>'
或者
<div class="note" style="left:'.$left[1].'px;top:'.$top[1].'px"></div>'
则可以正常显示

由于我要echo的DIV很多,所以不可能自己一个一个地列举,请问怎么用单个句子把所有的DIV全部echo出来呢

试过用for判断
for($i=0;$i<100;$i++)
{
echo "
<div class="note" style="left:'.$left['.$i.'].'px;top:'.$top['.$i.'].'px"></div>'
";
}

'.$left['.$i.'].' 不知道正确的表达方式是怎样的

另外
{
list($x1,$y1) = explode('|',$row['xyz1']);
list($x2,$y2) = explode('|',$row['xyz2']);
……
$left=array($x1,$x2,……);
$top=array($y1,$y2,……);
}
这个语句有什么方法可以直接合并为类似于下面这种表达式
list($left,$top)=array(explode('|',$row['xyz1']),explode('|',$row['xyz2']),……)
不然的话也是得自己一个个地列举出来


[解决办法]
看看这个

PHP code
$ar = array (array( 'xy1' => '1,2', 'xy2' => '3,4', 'xy3' => '5,6', 'xy4' => '7,8',),array( 'xy1' => '11,12', 'xy2' => '13,14', 'xy3' => '15,16', 'xy4' => '17,18',),);foreach($ar as $r)  foreach($r as $v)    list($x[], $y[]) = explode(',', $v);print_r($x);print_r($y);
[解决办法]
echo "<div class=\"note" style=\"left:{$left[$i]}px;top:{$top[$i]}px\"></div>"; 

或者:
echo "
<div class='note' style='left:".$left[$i]."px;top:".$top[$i]."px'></div>
";

热点排行