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

是的,有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 回答
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 回答