есть массив, после прохождения по массиву циклом foreach нужно определить первую запись к примеру:
foreach ($nav as $item) {
}
Прошу помощи в реализации.
Надо использовать другой вид foreach:
$keys = array_keys( $nav );
foreach ($nav as $key => $item) {
if ( $keys[0] === $key) {
// это первая запись
}
}
$first = TRUE;
foreach ($ARRAY as $item) {
if ($first == TRUE) {
// первый
$first = FALSE;
}
}
И еще вариант:
reset($ARRAY);
$first = key($ARRAY);
foreach($ARRAY as $key => $item) {
if ($key === $first) {
// первый
}
}
На самом деле варианты можно всю вечность накидывать.
Можно просто запустить цикл ровно на одну итерацию, и прервать его выполнение. После этого в переменной $item
будет сохранён первый элемент:
$array = ['key' => 'Первый элемент', 2, 3, 4, 5, 6, 7];
foreach ($array as $item) break;
echo $item;
Но можно обойтись и без цикла:
echo array_shift($array);
foreach в php не имеет счётчика итераций, поэтому придётся посчитать самим. Это совсем не сложно:
$i = 0;
foreach ($arr as $val) {
if ($i === 0) {
// первая итерация
}
++$i;
}
Удивительно, но этот же метод позволит определить последнюю итерацию и какую-нибудь кратную итерацию!
$i = 0;
$lastPos = count($arr) - 1;
foreach ($arr as $val) {
if ($i === 0) {
// первая итерация
}
if ($i === $lastPos) {
// последняя итерация
}
if ($i % 2) {
// каждая чётная итерация
}
++$i;
}
Если вам нужно просто первый элемент массива получить без обхода массива, используйте reset.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Несколько дней назад smtp через Яндекс перестал работатьПробовал почистить кеш, но это не помогло
Есть страница с html sitemapНа этой странице находится порядка 2000 ссылок
Определить попадает ли точка в закрашенную область или нетНужна функция на PHP или JS или хотя бы формулу с объяснением