不好意思 又要麻烦各位了   
原例:<?php
$wage=array(
  "市场部"=>array(
    array(1,"高某","市场部经理",5000.00),
    array(2,"洛某","职员",3000.00),
  ),
  "产品部"=>array(
    array(1,"李某","产品部经理",6000.00),
    array(2,"周某","职员",4000.00),
  )
);foreach($wage as $sector=>$table){
echo'<table border="1" width="600" align="center">';
echo'<caption><h2>'.$sector.'10月份工资表</h2></caption>';
echo'<tr bgcolor="#dddddd">';
echo'<th>编号</th><th>姓名</th><th>职务</th><th>工资</th>';
echo'</tr>';
foreach($table as $row){
echo '<tr>';
foreach($row as $col){
echo'<td>'.$col.'</td>';
}
echo'</tr>';
}
echo'</table><br>';
}
?>是这样,上面定义的三位数组可以理解。但到下面已进入foreach就傻了 ,主要有些变量不明白。
  为什么比如 $table as $row  将table赋给row   这里用的都是变量  php如何将变量赋给html的标签的呢?我觉得我的问题都很奇怪。

解决方案 »

  1.   

    你可以print_r($wage),套循环,逐个看
    还有你需要明白
    foreach($array as $key=>$value){}
    这个形式是将数值的下标赋值给$key,值内容赋值$value,在这里的话,三维数值会又是一个数值
    foreach($array as $value){}这个形式是将值内容赋值$value,在这里的话,会又是一个数值
    Array
    (
        [市场部] => Array
            (
                [0] => Array
                    (
                        [0] => 1
                        [1] => 高某
                        [2] => 市场部经理
                        [3] => 5000
                    )            [1] => Array
                    (
                        [0] => 2
                        [1] => 洛某
                        [2] => 职员
                        [3] => 3000
                    )        )    [产品部] => Array
            (
                [0] => Array
                    (
                        [0] => 1
                        [1] => 李某
                        [2] => 产品部经理
                        [3] => 6000
                    )            [1] => Array
                    (
                        [0] => 2
                        [1] => 周某
                        [2] => 职员
                        [3] => 4000
                    )        ))
      

  2.   

    foreach($wage as $key=>$value)记住这个,$key是你所遍历数据的下标,$value是你所遍历数据的值,第一次遍历的结果是市场部:(array)(array)
              产品部:(array)(array)
    这里的市场部和产品部是遍历出来的key
    两个数组是遍历出来的value,以此类推
      

  3.   

    php 为 嵌入式 编译语言. *.php 文件  通过 php 编译器 反馈给 浏览器 可以识别的语言。
      

  4.   

    还不没有明白 我的$table命名就是个变量 为什么会映射到<table>   不能用html标签命名变量么?
      

  5.   

    只是输出几个表格。$table、$row只是别名。建议去看看foreach的用法。
      

  6.   

    php变量就是php变量,html标签就是html标签完全没联系的,
    你可以吧$table这个变量改成任意的变量名称,
    但是<table >标签名是不能更改的。
      

  7.   


    你说的对  但是我将$table这个变量改为$tabl  就会报错
    【Warning: Invalid argument supplied for foreach() in D:\wamp\www\php\foreach.php on line 25】
    这个25行代码为 foreach($tabl as $row){所以会感觉矛盾  既然变量不会作用于标签  那么我的变量名应该不会受限制  但是现在却因为变量名称的改变使得程序出现了问题   感觉我进入了一个错误的模式思维  但是不知道错在哪。。
      

  8.   

    感觉楼主思想很强大,foreach  你查看一下,他的用法。
      

  9.   

    我晕,LZ你想太多了
    foreach($tabl as $row){$tabl这个不是你随便取的,你上边是$table,这里就一定要一样,后面as就随便你取。另外,foreach($table as $row)就是在紧跟的大括号里$row都是$table的一个值的复制(或许是数组),但对$row修改并不会影响到$table。foreach($table as $key=>$value){ 里面的$key是$table里每一个值的下标,$value就是值。其实这个很好理解
      

  10.   

    代码跑出来的结果不是你在浏览器里看到的那样,是那网页的源代码,然后浏览器把html变成了你看到的那样