[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: по поводу массива
maximka787
Ребята помогите пожалуйста. У меня в базе лежит в поле "ms" varchar информация 1,2,3,4,5
$result = mysql_query("select * from table where id='1'");
$row = mysql_fetch_array($result);
$explode_mass = $row['ms'];
echo 'массив собранный пока: '.$explode_mass;
$array_output = explode(",", $explode_mass);
echo 'массив разобранный: ';
echo $array_output[1]; //тут 0
echo $array_output[2]; // тут 1

но мне всегда мешает нулевой элемент массива, мне надо чтобы было 1=1, 2=2 и тд, а выдает
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) 

подскажите пожалуйста как начать с первого элемента или тут тоже массивом надо загонять?



Спустя 18 минут, 8 секунд (22.11.2010 - 20:10) Nikitian написал(а):

$array_output = explode(",", '0,'.$explode_mass);
unset($array_output[0]);

Спустя 3 часа, 13 минут, 17 секунд (22.11.2010 - 23:23) maximka787 написал(а):
Цитата (Nikitian @ 22.11.2010 - 17:10)

unset($array_output[0]);

а для чего unset? она убивает массив что ли?

Спустя 10 минут, 16 секунд (22.11.2010 - 23:33) Nikitian написал(а):
первый элемент, который вводится чтобы сдвинуть остальные

Спустя 11 часов, 1 минута, 30 секунд (23.11.2010 - 10:35) linker написал(а):
Херней занимаетесь. ТС ты пасквилянт (видимо я так полагаю начинавший программить на Pascal), привыкай что все индексы начинаются с нуля.

Спустя 14 минут, 14 секунд (23.11.2010 - 10:49) sergeiss написал(а):
Еще бы лучше тут использовать mysql_fetch_assoc и не секунды не "париться" с числовыми индексами массивов. В данном случае это только мешает.

Спустя 4 минуты, 13 секунд (23.11.2010 - 10:53) linker написал(а):
sergeiss
Ну тут не тот случай, тут текстовый столбец в котором записаны значения строкой '1,2,3,4,5,6,7...'

Спустя 13 минут, 13 секунд (23.11.2010 - 11:06) maximka787 написал(а):
Цитата (linker @ 23.11.2010 - 07:35)
Херней занимаетесь. ТС ты пасквилянт (видимо я так полагаю начинавший программить на Pascal), привыкай что все индексы начинаются с нуля.

Ну про нули, хоть и придумано через ж, но по ходу придется привыкнуть, только при чем тут Pascal ?

Спустя 4 минуты, 4 секунды (23.11.2010 - 11:10) linker написал(а):
Ну просто в Паскале индексирование начинается с 1, мне пришлось привыкать smile.gif

Спустя 1 минута, 45 секунд (23.11.2010 - 11:12) maximka787 написал(а):
Цитата (linker @ 23.11.2010 - 08:10)
Ну просто в Паскале индексирование начинается с 1, мне пришлось привыкать smile.gif

Это мне придется тогда всегда кодить и мысленно сдвигать всю кучу на 1 меньше? то есть если работать с каждой переменной из массива по-отдельности (например 10-100 чисел), то каждый раз придется мысленно уменьшать на 1? smile.gif

Спустя 3 минуты, 30 секунд (23.11.2010 - 11:16) Basili4 написал(а):
linker
индексы с 1 ??? Я прожу на Delph- e и индексы в массивах начинаются с 0

в паскале сколько я помню строки начинались с 1 индекса потому что в 0 лежал размер строки

Спустя 4 минуты, 1 секунда (23.11.2010 - 11:20) maximka787 написал(а):
Проблема то в том, что у меня каждый <input text value="var1"> имеет твой номер.
а на следующей странице:
$post_size = 5;
for($i=1; $i <= $post_size; $i++){
$m[$i] = $_POST['var'.$i];
}


Получается сдвиг всегда будет идти на 1 меньше

Спустя 4 секунды (23.11.2010 - 11:20) linker написал(а):
maximka787
Да.

Да, в Паскале индексы с 1. Дельфя в этом отношении уже изменилась, но строки так и остались с 1.

Спустя 38 секунд (23.11.2010 - 11:20) linker написал(а):
Ну так сдвигай
$post_size = 5;
for($i=1; $i <= $post_size; $i++){
$m[$i - 1] = $_POST['var'.$i];
}
Либо $_POST['var'.$i] начинай с нуля
<input text value="var0">
а лучше
<input text value="var[]">
тогда в $_POST['var'] у тебя будет массив, начинающийся с нуля.

Спустя 7 минут, 44 секунды (23.11.2010 - 11:28) maximka787 написал(а):
Цитата (linker @ 23.11.2010 - 08:20)
а лучше
<input text value="var[]">
тогда в $_POST['var'] у тебя будет массив, начинающийся с нуля.

<input text value="var[]"> вот это интересно, тогда очень важно ведь последовательность input-ов? Скорее всего <input text value="var[0]"> подойдет.)

Спустя 4 минуты, 46 секунд (23.11.2010 - 11:33) linker написал(а):
<input text value="var[]">
$vars = $_POST['var'];
$explode_mass = explode(',', $row['ms']);
$vars и $explode_mas должны соответствовать по индексу.

FIX. Кое-что забыл, поправил.


_____________
..Работает - не трогай!
Быстрый ответ:

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