我是php的新手,不懂这个技巧。。。
我有一个多维数组,其中包含我的mysql结果。。现在我想编写一个函数,从arraycontent构建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 |
foreach($arr as $key => $val){
//do this
}
或者,如果您想要最大索引的原因不是通过循环迭代,请尝试:
max(array_keys($array));
foreach>http://php.net/manual/en/control-structures.foreach.php
最大>http://php.net/manual/en/function.max.php
array_keys>http://php.net/manual/en/function.array-keys.php
您有一个多维数组,因此您可以循环或映射来查找。试试这个:
$max = max(array_map(function($v){ return $v['idfahrer']; }, $array));
但如果你知道idfahrer
对应于i+1
,那就更容易了:
$max = count($array);
我对这个问题理解正确吗?