php 数组问题。假如$a = array(a,b,c,d)

假如$a = array(a,b,c,d)
数组遍历后怎样才能这么显示
a
b
c
d
显示1,2,3,4 数字列表

<?php
$a = array('a', 'b', 'c', 'd');
foreach ( $a as $key => $val ){
  echo $key, '<br/>';
}

输出结果是:

0

1

2

3

你有个误区

数据元素个个数是从0开始数的,第一个是0,第二个是1

当然,你要是非要输出1234的话,你给你加一个就行

<?php

$a = array('a', 'b', 'c', 'd');

foreach ( $a as $key => $val ){

  echo $key++, '<br/>';

}

上面就回输出:

1

2

3

4

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-04

代码如下:

<?php
foreach ($a as $v) {
    echo $v, PHP_EOL;
}

其中PHP_EOL是常量,表示换行符。

追问

我想问的是 遍历输出的是后 在元素前面显示1,2,3,4这样数字
1 a
-----
2 b
----
3 c
----
4 d
这样

追答<?php
foreach ($a as $k=>$v) {
    echo $k + 1, ' ', $v, PHP_EOL;
}

遍历的时候同样能获得键值。

如果在浏览器中输出,换行符号不会显示。此时这样:

<?php
foreach ($a as $k=>$v) {
    echo $k + 1, ' ', $v, '<br />';
}


您的采纳就是对我的支持~