PHP: как создать совместный численно-ассоциативный массив; как мне посмотреть индекс самостоятельно? - PullRequest
1 голос
/ 20 июня 2011

Вот общий обходной путь, который я использую:

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<br />";
  $j++;
}

Я хочу иметь числовые идентификаторы и идентификаторы ключевых слов,

Между тем, поскольку foreach ($ paper как $ description) дает описание, а

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

- индекс, а затем описание ..., существует ли способ просто получить индексв foreach без указания переменной для описания?

Ответы [ 4 ]

2 голосов
/ 20 июня 2011

не уверен, что вы имеете в виду, но, возможно,

foreach(array_keys($ary) as $key)...
1 голос
/ 20 июня 2011
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)...
1 голос
/ 20 июня 2011
foreach ($paper as $key => $description) { ... }

- это синтаксис для получения ключа и значения в цикле.

Что касается ввода массива как с числовыми, так и с текстовыми значениями, то в массивах PHP это не поддерживается. Но ничто не говорит о том, что вы не можете дублировать значения внутри:

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

Обратите внимание, что в этой версии foreach вернет обе версии. Вам нужно было бы сделать обычный цикл for ($i = 0; .....) { }, чтобы перехватывать только цифровые клавиши.

1 голос
/ 20 июня 2011

Да, с array_keys():

$indexes = array_keys($paper);

См .: http://php.net/function.array-keys

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...