获取foreach中当前索引的名称

时间:2014-07-13 09:15:51

标签: php mysql arrays

我有一个用PHP编码的应用程序,它根据用户的用户名从MySQL数据库中提取一组特定的数据。我像这样返回数据库信息:

function getUserImages($user, $startat = 0) {
$con = openDBConnection();
$sql = $con->prepare("SELECT name,id FROM `pictures` WHERE user=? LIMIT ?, 10");
$sql->bind_param("si", $user, $startat);
$sql->bind_result($picName, $picId);
$sql->execute();
$arr = array();
while($sql->fetch()) {
    $arr[$picId]=$picName;
}
return $arr;
}

现在假设我插入这个数组的方式是正确的,当我用foreach这样循环时:

foreach($arr as $v) {
echo '<a href="/index.php?pid=' . $CURRENT_ARRAY_INDICE_NAME . '">'
echo '<img class="img-responsive img-rounded" src="url/'. $v .'.png" alt="Captured Image"';
echo '</a>';
}

它应该获取我刚插入的所有数据。我的问题是如何设置$CURRENT_ARRAY_INDICE_NAME

的值

2 个答案:

答案 0 :(得分:2)

使用:

foreach($arr as $k => $v) {
    // $k is the current indice
}

请参阅docs此外,使用关联数组时,$k是当前关键字$v

答案 1 :(得分:2)

您可以将您的foreach更改为

foreach($arr as $k => $v) {

其中$ k是您正在获取的数组的当前指标的关键。

有关PHP文档的更多信息,请访问:http://php.net//manual/en/control-structures.foreach.php