PHP:我们如何制作一个联合的、数字关联的数组;我如何单独查找索引


PHP: how do we make a joint, numeric-associative array; how do I look up the index by itself?

以下是我正在使用的通用解决方法:

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作为$description)给出了描述和

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

给出索引,然后给出描述。。。,有没有一种方法可以在foreach中获取索引,而不必为描述指定变量?

不确定你的意思,但可能是

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

是在循环中获取键和值的语法。

至于用数值和文本值对数组进行键控,PHP的数组并不真正支持这一点。但没有任何东西表明你不能在内部复制这些值:

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

请注意,对于此版本,foreach将同时返回这两个版本。您必须执行一个常规的for ($i = 0; .....) { }循环才能只捕获数字键。

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)...

是,带有array_keys():

$indexes = array_keys($paper);

请参阅:http://php.net/function.array-keys