|
|
|
| Доброго времени суток
создаю массив
while ($img=mysql_fetch_array($image)){
$i = ++$i;
$photo[$i]=$img['id'];
}
|
в итоге получаю
Array ( [0] => 12 [1] => 11 [2] => 10 [3] => 9 )
|
а нужно
Array ( [1] => 12 [2] => 11 [3] => 10 [4] => 9 )
|
| |
|
|
|
|
|
|
|
для: admin
(16.07.2012 в 18:11)
| | Попробуйте заменить конструкцию
просто на
| |
|
|
|
|
|
|
|
для: cheops
(16.07.2012 в 18:18)
| |
Array ( [0] => 12 [1] => 11 [2] => 10 [3] => 9 )
|
тот же результат | |
|
|
|
|
|
|
|
для: admin
(16.07.2012 в 18:19)
| | А если перед циклом while явно инициализировать переменную $i = 0 (что полезно всегда и в любых языках программирования?). | |
|
|
|
|
|
|
|
для: cheops
(16.07.2012 в 18:24)
| | вот теперь все работает
Array ( [1] => 12 [2] => 11 [3] => 10 [4] => 9 )
|
только теперь при переносе массива на другую страницу
$_SESSION['photo'] = implode("|", $photo);
|
на другой странице выдает ту же проблему
Array ( [0] => 12 [1] => 11 [2] => 10 [3] => 9 )
|
| |
|
|
|
|
|
|
|
для: admin
(16.07.2012 в 18:32)
| | implode объединяет значение массива, без его ключей! Это не проблема, это не понимание с вашей стороны. | |
|
|
|
|
|
|
|
для: confirm
(16.07.2012 в 18:42)
| | почему бы попросту не объяснить? зачем столько критики, я не нашел другой функции в интернете, везде только она... | |
|
|
|
|
|
|
|
для: admin
(16.07.2012 в 18:47)
| | Это не критика. Я не php-критик, я вам просто советую читать внимательно о функциях, чтобы не писать так. Я вам про mysql_fetch_array() уже второй раз второй день подряд говорю, а вам побоку. А разве трудно вникнуть, что вы необдуманно ее используете? Ведь описание гласит ясно на русском. И кроме этого это не одна функция, которой можно получить строку из ресурса.
И между прочим, я не нашел другой функции в интернете, везде только она..., это не совсем так. Если вам нужно передать на другую страницу, то есть сессия, в которую вы можете поместить массив. А также, если можно передать этот массив как GET параметры, то есть функция http_build_query(), вот пример:
<?
$a = array(1=>12, 13, 14, 15);
echo http_build_query($a);
|
Как видите сохраняется массив со всеми ключами, а на другой странице получите массив $_GET, уж что это такое думаю знаете.
И никакой критики, просто, если вам говорят это плохо, то хотя бы интересуйтесь почему. Читать и изучать за вас никто не будет, и объяснить все просто невозможно. | |
|
|
|
|
|
|
|
для: admin
(16.07.2012 в 18:11)
| | mysql_fetch_array - прочтите и запомните, что данную функцию так использовать ЭТО ПЛОХО!
Ну сколько раз говорить об этом?
А какая разница с какого индекса массив начинается, это принципиально? И не надо приравнивать:
<?
$i = 0;
while($i < 5) {
++$i;
echo $i.'<br>';
}
|
Получите 1, 2, 3...
Собственно зачем массив промежуточный? | |
|
|
|