Можно ли сделать "вывод" из explode () начинающийся не с [0] а c [1]

Crazy

Developer
hex, ты хочешь сказать, что и $page = $_GET['page'] -1; и $page = $_GET['page'] ; оба при page=1 выводят вторую страницу?

Really?
 

hex

Новичок
Да!
Затараканился я уже.
Надо же так написать.
Где же закавыка?
На завтра отложу. Пойду спать наверное.
 

Crazy

Developer
А написать $page = 0 не пробовал? ты уверен, что оно вообще ЭТУ переменную использует? :)
 

hex

Новичок
Автор оригинала: Crazy
А написать $page = 0 не пробовал? ты уверен, что оно вообще ЭТУ переменную использует? :)
Вручную все проверял. Вручную.
И при page=0 выводит 1 страницу разделенного текста.
Сейчас думаю, может можно (если explode массив) перетащить значения из него в array который можно начать с 1?
 

hex

Новичок
Конечно ?page=0
И 1,2,3,4,5 также.

Вообщем код такой

PHP:
$outtext = explode($razdelitel,$iz_sql_zaprosa['txt']);


	$i=1;
	while (!empty($outtext[$i]))
	{
	 $i++;

	}

	if (isset($page) && $page <= $i) $shit = $page;
	else $shit = 1;
  
	PrintContent ($outtext[$shit]); //Уходит в функцию где просто распечатывается
 

SelenIT

IT-лунатик :)
hex
"while (!empty( ..." - это так ты пытался узнать [m]count[/m]($outtext)? ;)

А что показывает print_r($page) или еще лучше var_dump($page)?
Похоже, что тебя посетила проблема register_globals...
 

hex

Новичок
Автор оригинала: SelenIT
hex


А что показывает print_r($page) или еще лучше var_dump($page)?
Ты имел ввиду
что показывает
print_r($wtf);

Показывает вот что

Array (
[0] => 1111111111111111111111111111
[1] =>
2222222222222222222222
[2] =>
33333333333333333333333
[3] =>
44444444444444444444444
[4] =>
5555555555555555555555
)

Так что похоже глобальные переменные тут не причем.
Тогда бы не работало ?page=0
 

SelenIT

IT-лунатик :)
Нет, я имел в виду именно то, что написал. В контексте твоего кода выше.
 

hex

Новичок
Когда страница
$page=0
выводит
print_r($page);
Выводит 0
var_dump($page);
Соответственно выводит int(0)

Когда страница
$page=1
выводит
print_r($page);
Выводит 1
var_dump($page);
Соответственно выводит int(1)

И так далее
 

SelenIT

IT-лунатик :)
Ну раз переменные передаются...
PHP:
if (!empty($page) && $page <= count($outtext)) $shit = $page - 1;
    else $shit = 0; // off: как переменную вы назовете... ;)
и далее по тексту... не выход?
 

hex

Новичок
АААААА!
УРАААА!
Сорри за эмоции!
Победили!

SelenIT - дай бог тебе счастья!!!

Слушай еще.

объясни что такое
$shit = $page - 1
В контексте примера

Т.е. Если у $page есть какое то значение....
Продолжи дальше как для танкистов закаленных, что бы я понял
все точно.

СПА - СИ -БО!

Кстати насчет explode с единицы...
Мне это не нужно :D СОГЛАСЕН! Вы все были правы!
 

SelenIT

IT-лунатик :)
Ну наконец-то :)

Смысл тот же, как в примере с циклом, что я давал еще на прошлой странице - смотрим на параметр и достаем из массива элемент с на единицу меньшим индексом. По умолчанию, если параметра нет или он вне допустимого диапазона, берем элемент с индексом 0...

Кстати, условие можно еще доработать, чтобы допустимыми значениями $page были только целые числа от 1 до count($outtext).
 

hex

Новичок
Автор оригинала: john.brown
Ну, опоздал, и славно...
Ты малость опоздал амиго!
Решили уже все!

-~{}~ 26.08.06 04:16:

Автор оригинала: Crazy
Уточнение: какой специальный смысл имет $shit=0?
Никакого. Прекрасно работает и без оного!
 

Igor aka TiGR

Новичок
Но всё же лучше его ставить. Мало ли какой $shit мог приключиться ранее по тексту :D
 

sazonoff

Новичок
Я понимаю что уже решили проблему, но может кому нужно записать чтото в начало массива, это можно сделать так)
&arrey1[0]=1; //соответственно что записываем в начало.
&arrey2=arrey(); //Массив в котором нужно записать в начало.
&arrey3=array_merge($arrey1, $arrey2); //Сама запись, пи этом масив2 сдвигается и то, что было в [0] станет в [1].
Вообще лучше почитайте про конкатенацию массивов и про array_merge.

P.S.
Я новечек и выложил свой вариант решения, прошу поправить если не прав.
 
Сверху