2011-06-20 30 views
1

這裏是通用的解決辦法,我使用:PHP:我們如何創建一個聯合的數字關聯數組;我如何查看索引本身?

http://codepad.viper-7.com/2tiPvN


$j=0; 
$paper = array('copier' => "Copier and Multipurpose", 
       'inkjet' => "Injet Printer", 
       'laser' => "Laser Printer", 
       'photo' => "Photo Paper"); 

foreach ($paper as $index => $description) 
{ 
    echo "$j, $index: $description
"; $j++; }

我想有數字標識符和關鍵字標識符。

同時,因爲的foreach(如$描述$紙)給出了說明和

foreach ($paper as $index => $description) 

給出了索引,然後說明...,是有辦法剛剛得到的指數在foreach,而不必爲描述指定一個變量?

回答

2

不知道你的意思,但也許

foreach(array_keys($ary) as $key)... 
+0

它看起來像索引正在成爲一個數值,並且說明正在成爲索引。那麼,我如何獲得描述? –

+0

同樣的故事:'array_values'只返回數值索引數組中的值('description')。 –

1

是的,array_keys()

$indexes = array_keys($paper); 

參見:http://php.net/function.array-keys

+0

是否有可能在一個foreach循環中獲得數組鍵,索引和描述? http://codepad.viper-7.com/rNYeil –

+0

數組鍵和索引是相同的東西。我沒有得到你的問題。 – Alp

+0

數字數組鍵。抱歉。 –

1
foreach ($paper as $key => $description) { ... } 

是語法拿到key和值在循環。

至於用數字和文本值鍵入數組,PHP的數組並不真的支持這一點。但沒有人說你不能在內部複製值:

$array = (
    0 => 'Copier and ...', 
    'copier' => 'Copier and ...' 
    ... 
); 

請注意,這個版本的foreach將返回兩個版本。您必須執行常規for ($i = 0; .....) { }循環才能捕獲數字鍵。

1
foreach(array_keys($ary) as $key)... its give index 

array['0']=>'copier' 
array['1']=> 'inkjet' 
      array['2']=>  'laser' 
       array['3']=>'photo' 
similarly for values 
foreach(array_values($ary) as $value)...