Я уверен, что это очень простая и встроенная функция в PHP, но я ее еще не видел.
Вот что я делаю на данный момент:
foreach($array as $key => $value) {
echo $key; // Would output "subkey" in the example array
print_r($value);
}
Могу ли я вместо этого сделать что-то вроде следующего и тем самым избавить себя от написания «$ key => $ value» в каждом цикле foreach? (псевдокод)
foreach($array as $subarray) {
echo arrayKey($subarray); // Will output the same as "echo $key" in the former example ("subkey"
print_r($value);
}
Спасибо!
Массив:
Array
(
[subKey] => Array
(
[value] => myvalue
)
)
foreach($array as $key => $value)
? Или, наоборот, какой смысл использоватьforeach($array as $value)
, когда вам действительно нужно$key
где-то в будущем? - person Tomalak   schedule 23.07.2010foreach($array as $key => $value)
... :-) Или ситуация не в том, что вы находитесь в цикле foreach? - person Tomalak   schedule 23.07.2010foreach
должен сохранить значение в какой-либо другой переменной и использовать условия для следующих значений (поэтому менее эффективен)... Вwhile
лайке вторхонен вам нужно толькоif($element=='jump3')next(next(next($array)))
- person Armfoot   schedule 14.08.2013next(next(next($array)))
намного выше (поэтому менее эффективны), чем сохранение значения в какой-либо другой переменной и использование цикла foreach в обычной форме$key=>$value
... не говоря уже о том, что код, который вы показали, слишком некрасиво использовать его где угодно. - person Sk8erPeter   schedule 14.08.2013testing
для последующих ключей массива иcontinue
для следующих вforeach
... Мы все можем размышлять, насколько эффективен один будет по сравнению с другим во многих разных случаях и насколько тяжелым может быть указатель сдвига указателя (next
... разница в наносекундах? Эффективность алгоритма обычно обдумывается логикой), но это не моя точка зрения. Я хочу сказать: у вас может быть другая цель для вашего цикла, где вы действительно хотите перепрыгнуть несколько клавиш в соответствии с конкретными, поэтому вам не нужно беспокоиться об условиях для других клавиш. - person Armfoot   schedule 15.08.2013