8

我正在努力完成我的任务,这是现在要做的最后一件事。

我知道如果我想打印整个数组,我可以使用foreach许多不同的方法来打印整个数组

foreach($v as $k=>$variable_name) { echo "<p> This is index of $k. value is $variable_name <br/></p>";}

但是如果我只想单独打印每个索引呢?

我想在每个表单下都显示错误消息,这就是为什么我希望每个表单都分开。

我试过了$v[0],没有出现。

有什么技巧或我错过了什么吗?

4

6 回答 6

8

array_keys()将打印数组中的索引。

print_r(array_keys($arr));
于 2012-06-20T18:27:14.307 回答
3

如果您在谈论关联数组,则需要直接获取索引:

例子:

$array = array ('test' => 'value1', 'test2' => 'value2');   
echo $array['test']; // value1

您可以执行 print_r($array) 以查看格式正确的数组结构:

<pre>
<?php print_r($array);?>
</pre>

相反,您正在做的是通过其数字索引获取一个值,例如

$array = array('test','test2','test3');
echo $array[0];  // test

进一步说明,您可以使用array_key_exists()预先检查密钥是否存在:

var_dump(array_key_exists('test2',$array));  // (bool) TRUE
于 2012-06-20T18:27:11.343 回答
3

如果您正在使用foreach循环,那么您可能正在使用关联数组(即$v['inputName'])因此,使用$v[0]不会起作用,因为索引不是由数字定义的 - 它们是由字母定义的。您可以使用foreach循环将所有值关联到编号索引,然后像这样使用它。

$x = array();
foreach($v as $key=>$value) {

   $x[count($x)] = $key;

}

echo $x[0];

在那种情况下$x[0]会起作用

于 2012-06-20T18:30:01.673 回答
3

您可以使用 php array_keys函数来获取所有键。如果它的关联数组,

$array = array("color" => array("blue", "red", "green"),
               "size"  => array("small", "medium", "large"));
print_r(array_keys($array));

输出将是:

Array
(
    [0] => color
    [1] => size
)

另一种方法是:

if(is_array($v){
    foreach($v as $k=>$value) { 
         echo "<br/>". $k ;  // $k is the key 
    }
}
于 2012-06-20T18:37:05.657 回答
2

我相信你正在寻找这个: http: //php.net/manual/en/function.array-keys.php

尝试(从上面的页面):

<?php
  $array = array(0 => 100, "color" => "red");
  print_r(array_keys($array));

  $array = array("blue", "red", "green", "blue", "blue");
  print_r(array_keys($array, "blue"));

  $array = array("color" => array("blue", "red", "green"),
               "size"  => array("small", "medium", "large"));
  print_r(array_keys($array));
?>
于 2012-06-20T18:28:54.903 回答
0

使用print_r函数打印数组:

print_r($array)
于 2012-06-20T18:26:02.270 回答