如何使用像笛卡尔这样的特定格式的数据? (PHP)

时间:2012-06-29 07:30:03

标签: php mysql arrays algorithm

我有一个名为'fields'的数据库。有一些表的领域。此表包含列:ID字段,ID列,ID行,值。如何根据这些数据制作双数组?

它应该是这样的:

array {

    array {field1, field2, emptyfield, field3 },
    array {fieldnext, valueoffield, field, emptyfield}
}

数据库中的每个字段都有值,列ID和行ID(如笛卡尔坐标系)。重要提示:如果任何字段不存在,函数应创建值为“空字段”

的字段

我创建了一些代码,但它不会用文本“空字段”填充空字段。我无法找到解决这个问题的方法,我需要你的帮助:)。

 //result is array made from db result
 //rows is output array

 for($i=0; $i<count($result); $i++) {

  if(!is_array($rows[$i2])) $rows[$i2]=array();

   if($result[$i]['id_row']==$result[$i-1]['id_row'] OR $i==0) {

     array_push($rows[$i2], $result[$i]['value']);       

   } else {

     $i2++;
     $rows[$i2]=array();

     array_push($rows[$i2], $result[$i]['value']);  
   }
 }

谢谢:)

1 个答案:

答案 0 :(得分:0)

也许尝试添加一行

if(empty($result[$i]['value'])) $result[$i]['value'] = 'empty field';

位于for循环块的顶部。