[英]Get index of array in foreach loop
鑒於:
foreach ($rows as $row) {
echo $row['id'];
echo $row['firstname'];
echo $row['lastname'];
}
如何在沒有單獨的計數變量的情況下 ,在任何給定的迭代期間獲取$rows
的當前索引?
我嘗試了什么:
foreach ($rows as $key => $row) {
echo $row['id'];
echo $row['firstname'];
echo $row['lastname'];
}
編輯以下
但是$key
給了我$row
的當前索引,而不是$rows
的當前索引。
我想做的是:
foreach ($rows as $row) {
if(current_index($rows) == 0){
// do something
}
echo $row['id'];
echo $row['firstname'];
echo $row['lastname'];
}
據我所知,PHP沒有current_index()
函數或類似的東西。
這是$rows
樣子:
Array
(
[0] => Array
(
[id] => 1
[firstname] => Firstname one
[lastname] => Lastname one
)
[1] => Array
(
[id] => 2
[firstname] => Firstname two
[lastname] => Lastname two
)
[2] => Array
(
[id] => 3
[firstname] => Firstname three
[lastname] => Lastname three
)
)
您將數組值引用為數組。 這就是為什么它給你$row['id']
您需要使用$key
因為這是$rows
數組中當前索引的值。
當你使用foreach($rows as $key => $row)
這就是它實際上正在做的事情:
$rows
- 要循環的輸入數組 $key
- 第一維數組中當前位置的鍵 $row
- 第一維數組中當前位置的值 那么$ key會給出當前數組鍵,這可能是字符串所以我認為以下將是可能的解決方案
$i=0;
foreach ($rows as $key => $row) {
echo $row['id'];
echo $row['firstname'];
echo $row['lastname'];
echo $i;
$i++;
}
使用關聯數組
$rows = array("id"=>"id","firstname"=>"firstname","lastname"=>"lastname")
foreach ($rows as $key=>$row) {
if($key == "firstname"){
// do something
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.