Встретил в чужом коде, пишут ключи массива(числовые не буквенные) без кавычек. Например так $array[0]. Проверил у себя echo $array[0]. Всё работает. Это нормальная практика и лучше воздерживаться от такого(и писать кавычки всегда)? На всех ли версиях пхп это будет работать ?
это обращение к первому элементу массива. и массив не ассоциативный, поэтому нет строки которую нужно обрамлять кавычками. матчасть.
Можно даже так писать: Код (PHP): $arr = array(); $arr[] = 'Красный'; // Тут предполагается $arr[0] $arr[] = 'Синий'; // Тут $arr[1]
Вы не совсем правы. Это обращение к элементу массива с ключём 0. Первый элемент массива может быть любым.
Chushkin, а как определить первый элемент массива? Добавлено спустя 1 минуту 39 секунд: Я сделала так, и элемент с ключом 0 оказался первым: Код (PHP): <?php $arr[-1] = 'Синий'; $arr[1] = 'Красный'; $arr[0] = 'Зелёный'; print_r($arr); ?> Array ( [0] => Синий [1] => Красный [-1] => Синий ) Добавлено спустя 2 минуты 57 секунд: Вообще поняла, что вы правы. Элемента с индексом 0 может и не быть.
В общем случае будет что-то вроде: Код (PHP): $a['первый'] = 'первый в массиве, именованный ключ'; $a[] = 'второй в массиве, первый цифровой ключ (=0)'; $a[5] = 'третий в массиве, второй цифровой ключ (=5, явно заданный)'; $a[] = 'четвёртый в массиве, третий цифровой ключ (=6, т.е. последний цифровой + 1)'; // и т.д. print_r($a); Добавлено спустя 3 минуты 41 секунду: Просто: Код (PHP): reset($a); print_r(current($a));
Это интересно, а как-нибудь можно проверить, какой по счёту элемент в массиве без print_r то есть взять элемент и проверить, какой он там по счёту?
Ясненько. Теперь читаю про reset() и какой-то таинственный указатель. Можно узнать, зачем он нужен и где применяется? Указатель можно навести на любой элемент и считать при помощи current(), я правильно понимаю? А как навести указатель на элемент?
что значит "заданный"? указатель он один, и указывает на одну конкретную позицию. двигайте его куда надо и получайте значение. просто как 3 рубля
Хочу сразу сдвинуть указатель на элемент массива $arr[25] сразу. Такое возможно? Добавлено спустя 19 минут 54 секунды: И этот вопрос не только меня интересует http://searchengines.guru/showthread.php?t=258693
обращение к элементу массива по ключу, не сдвигает внутренний указатель на этот элемент, ибо это совсем не одно и тоже.
$arr[25] это обращение к элементу [ ассоциативного ] массива с индексом 25. то же самое можно написать как $arr['25'] — эти выражения эквивалентны. это обращение по ключу, а не к "двадцатьпятому" или "двадцатшестому по счету от начала", т.к. порядок может быть любой. по порядку вы можете перебирать только последовательно или прыгнуть в начала и конец: reset(), end(), next(), prev() либо each()
artoodetoo На форуме что-то глюкнуло и были потеряны последние комментарии. ТС воде как ответила runcore, что-то вроде "Я знаю". Или я что-то попутал?