0

我是 php 新手,不明白这个窍门......

我有一个包含我的 mysql 结果的多维数组。现在我想编写一个从数组内容构建 html 表的函数。

我不知道如何获得我的 while 循环的最大索引值来创建表内容:

 print_r ($array) // gives 

 Array ( [0] => Array ( [idfahrer] => 1 ) [1] => Array ( [idfahrer] => 2 ) ) 

我读过一些关于max($array[])但我无法让它运行的东西......有什么想法吗?

编辑:

抱歉忘记了我用于数组的代码...

protected function GetData($query) {
        $link = $this->ConnectDB();
        $data = array();
        $result = mysqli_query($link, $query) or trigger_error(mysqli_error($link) . $query);
        if ($result) {
            while ($row = mysqli_fetch_assoc($result)) {
                $data[] = $row;
            }
        }
        return $data;
    }

编辑 2:

例如:

SELECT * FROM users
returns

[id]---[name]---[age]

1----foo----30
2----bar----40

该数组应如下所示:

[0] => Array ( [id] => 1,[name] => "foo", [age] => 30 )
[1] => Array ( [id] => 2,[name] => "bar", [age] => 40 )

现在该函数应该看到有两行创建一个 html 表,如

|[id]---[name]---[age]
|
|1    |foo      |30 |
|2    |bar      |40 |
4

2 回答 2

0
foreach($arr as $key => $val){
    //do this
}

或者,如果您出于迭代循环以外的原因想要最大索引,请尝试:

max(array_keys($array));

foreach > http://php.net/manual/en/control-structures.foreach.php
max > http://php.net/manual/en/function.max.php
array_keys > http://php.net/手册/en/function.array-keys.php

于 2013-05-24T07:45:18.727 回答
0

你有一个多维数组,所以你可以循环或映射来找出。尝试这个:

$max = max(array_map(function($v){ return $v['idfahrer']; }, $array));

但是,如果您知道这idfahrer对应,i+1那就更容易了:

$max = count($array);

我是否正确理解了问题?

于 2013-05-24T07:48:01.910 回答