1

これが私が使用している一般的な回避策です:

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($ paper as $ description)は、説明と

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

インデックスと説明を指定します...、説明に変数を指定せずに、foreachでインデックスを取得する方法はありますか?

4

4 に答える 4

2

あなたが何を意味するのかわからないが、多分

foreach(array_keys($ary) as $key)...
于 2011-06-20T14:52:32.810 に答える
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)...
于 2011-06-20T15:09:58.967 に答える
1

はいarray_keys()

$indexes = array_keys($paper);

参照: http://php.net/function.array-keys

于 2011-06-20T14:52:43.210 に答える
1
foreach ($paper as $key => $description) { ... }

ループ内でキーと値の両方を取得する構文です。

数値とテキスト値の両方で配列をキーイングすることに関しては、PHP の配列はそれを実際にはサポートしていません。しかし、値を内部的に複製できないとは言いません。

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

このバージョンでは、 foreach は両方のバージョンを返すことに注意してください。for ($i = 0; .....) { }数字キーだけをキャッチするには、通常のループを実行する必要があります。

于 2011-06-20T14:53:56.333 に答える