[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: начало массива
qwerty
$handle = opendir('.');
while (false !== ($file = readdir($handle))) {
$h=$file;
$y=substr($h, -3);
if ($y=='jpg') // выбираем типы файлов для массива
{
$files[] = $file;
}
}


здравствуйте. Когда создается массив первое его цифровое значение это 0, как сделать чтобы создание массива начиналось с единице? спасибо



Спустя 9 минут, 36 секунд (23.03.2010 - 21:51) John_761 написал(а):
$array = array( 1=> 'one', 'two', 'three');

Спустя 8 минут, 47 секунд (23.03.2010 - 21:59) qwerty написал(а):
Цитата (John_761 @ 23.03.2010 - 18:51)
$array = array( 1=> 'one', 'two', 'three');

как в это строку переменную вставить?

Спустя 2 минуты, 32 секунды (23.03.2010 - 22:02) Игорь_Vasinsky написал(а):
Цитата
как в это строку переменную вставить?


наверно так:

$array = array( 1=> $one, $two, $three);

Спустя 3 минуты, 38 секунд (23.03.2010 - 22:06) qwerty написал(а):
Цитата (Игорь_Vasinsky @ 23.03.2010 - 19:02)
Цитата
как в это строку переменную вставить?


наверно так:

$array = array( 1=> $one, $two, $three);

так загоняет в массив только первое значение, и то начинает его нуля

Спустя 2 минуты, 30 секунд (23.03.2010 - 22:08) qpayct написал(а):
ну так а ты что хотел? переменные вогнать или массивы? blink.gif

Спустя 6 минут, 39 секунд (23.03.2010 - 22:15) krasilich написал(а):
Позвольте узнать, а на кой такое извращение??

В массиве всегда будет нулевой элемент, пусть даже пустой.

Проблема в прянятии того что массив должен начинаться с нуля?

Если проблема в том что индексы массива используються при выводе, так просто добавляйте к ним единицу, примерно так

$array = shuffle(range(1,10));
foreach($array as $key => $value)
{
echo $key + 1.' => '.$value.'<br>';
}

Спустя 3 минуты, 58 секунд (23.03.2010 - 22:19) qpayct написал(а):
или так
$array = range(1,10);
foreach($array as $key => $value)
echo ++$key .' => '. $value .'<br>';


кстати krasilich, твой пример не рабочий. сначала надо инициализировать массив а только потом его шафлить...

Спустя 27 секунд (23.03.2010 - 22:19) qwerty написал(а):
извращение рождается от кода галереи о которой я спрашивал ниже, ни чего не могу поделать что приходит в голову то и делаю, главное чтоб все работало и не тупило smile.gif


загоняется список файлов из директории

0 1.txt
1 2.txt
2 3.txt
3 4.txt

соответственно при выводе списка из массива он начинается с нуля, как сделать чтобы переменная загонялась с единице

1 1.txt
2 2.txt
3 3.txt
4 4.txt

Спустя 1 минута, 37 секунд (23.03.2010 - 22:21) qwerty написал(а):
да ладно своим способом сделаю, спасибо за помощь

Спустя 1 минута, 29 секунд (23.03.2010 - 22:22) qpayct написал(а):
ну блин 1+1 ито сделать не можешь, а всё туда же biggrin.gif

Спустя 2 минуты, 12 секунд (23.03.2010 - 22:24) Игорь_Vasinsky написал(а):
а я и не утверждал что мой пример будет работать... unsure.gif

Спустя 13 минут, 27 секунд (23.03.2010 - 22:38) sergeiss написал(а):
Цитата (krasilich @ 23.03.2010 - 23:15)
В массиве всегда будет нулевой элемент, пусть даже пустой.

Неверное утверждение. В массиве будут только те элементы, которые ты создашь. Например, если ты создашь только ассоциативный массив, то откуда в нем возьмутся цифровые ключи???

Спустя 5 минут, 5 секунд (23.03.2010 - 22:43) Игорь_Vasinsky написал(а):
относительно утрированное замечание. Обсуждение велось по теме с предложенным примером

Спустя 3 минуты, 47 секунд (23.03.2010 - 22:47) twin написал(а):
Вот по примеру. Даже стиль не менял.
$handle = opendir('.');
$i=0;
while (false !== ($file = readdir($handle))) {
$h=$file;
$y=substr($h, -3);
if ($y=='jpg') // выбираем типы файлов для массива
{
$files[++$i] = $file;
}
}

Спустя 1 минута, 28 секунд (23.03.2010 - 22:48) sergeiss написал(а):
Игорь_Vasinsky - это ты это мне ответил?

Я прокомментировал не основную тему, а процитированное мной утверждение, которое счёл неверным.

Спустя 2 минуты, 18 секунд (23.03.2010 - 22:51) krasilich написал(а):
Цитата (sergeiss @ 23.03.2010 - 21:38)
Цитата (krasilich @ 23.03.2010 - 23:15)
В массиве всегда будет нулевой элемент, пусть даже пустой.

Неверное утверждение. В массиве будут только те элементы, которые ты создашь. Например, если ты создашь только ассоциативный массив, то откуда в нем возьмутся цифровые ключи???

Хм, тоже верно, как-то неподумал...

Тогда ТС'у можно предложить такой вариант создания массива.


for($i = 1; $i <= $i_max; ++$i)
{
$array["$i"] = 'next_element';
}

Спустя 26 минут, 12 секунд (23.03.2010 - 23:17) sergeiss написал(а):
krasilich - в твоем коде $array["$i"] = 'next_element'; есть одна "фенька"... Не ошибка, но некрасиво так делать, стиль нехороший smile.gif Я говорю про индекс "$i". Кавычки тут не нужны. На самом деле они только зря время работы скрипта увеличивают.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.