2012-06-20 85 views
3

我想完成我的任務,這是現在要做的最後一件事。如何打印或回顯PHP中的數組索引

我知道如果我想打印整個數組我可以只使用foreach和許多不同的方法來打印整個數組

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

但是如果我只想單獨打印每一個指標是什麼?

我想在每個窗體下面顯示錯誤消息,這就是爲什麼我希望每個窗體都是獨立的。

我用$v[0]試過,沒有出現任何東西。

有沒有一招或我錯過了什麼?

+0

回聲$ K表;應該管用。 – vascowhite

+0

如果'$ v [0]'中有某些東西,那麼'echo $ v [0]'應該可以工作。我們需要更多的信息來診斷這個問題。 – deceze

+0

@deceze我有一堆使用array_push存儲在該數組中的錯誤消息,現在我想以不同方式在每個點中顯示它們。 – Ali

回答

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 
0

使用print_r功能打印數組:

print_r($array) 
+2

非常真實,的確,它是最簡單的:) –

2

array_keys()將在數組中打印索引。

print_r(array_keys($arr)); 
+0

謝謝,這正是需要打印非關聯數組的自定義索引號。 –

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)); 
?> 
1

如果您使用的foreach循環,那麼你很可能使用一個關聯數組(即$v['inputName'])因此,使用$v[0]將不起作用,因爲索引不是由數字定義的 - 它們是通過刻字定義的。你可以使用一個foreach循環,然後把所有的值與編號索引相關聯,然後我們這樣做。

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

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

} 

echo $x[0]; 

在這種情況下$x[0]將工作

1

您可以使用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 
    } 
}