Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Помогите найти ошибку в небольшом отрезке скрипта


Автор: kichSman 6.3.2009, 12:57
При компиляции php-скрипта сервер выдает ошибку неопределенного погашения:
Код

Notice: Undefined offset: ...on line 45

Но при этом скрипт все отображает верно

Смотрю в сам код
Код

[41]if (preg_match("/от (.*) /isU",$giv_link_strock[3],$giv_strock_dat)){
[42]  $giv_strock=$giv_strock_dat[1];
[43]}else{
[44]    $giv_strock_red=explode("от ",$giv_link_strock[3]);
[45]    $giv_strock=$giv_strock_red[1];
[46]}

Так и не пойму, где ошибка

Автор: skyboy 6.3.2009, 13:08
Цитата(kichSman @  6.3.2009,  11:57 Найти цитируемый пост)
offset: ...on line 45

тут так и есть троеточие?
Цитата(kichSman @  6.3.2009,  11:57 Найти цитируемый пост)

[44]    $giv_strock_red=explode("от ",$giv_link_strock[3]);
[45]    $giv_strock=$giv_strock_red[1];

я не уверен, что подсчет строк парсером PHP  совпадает с увиденным тобой в редакторе. Т.е. что строка "<?php" считается первой, а не нулевой. В таком случае, ошибка может быть либо при обращении к 
Цитата(kichSman @  6.3.2009,  11:57 Найти цитируемый пост)
$giv_link_strock[3]
(нет элемента с индексом 3), так и при обращени к 
Цитата(kichSman @  6.3.2009,  11:57 Найти цитируемый пост)
$giv_strock_red[1]

(нет элемента с индексом 1).
Выведи оба массива(впрочем, если у тебя в сообщени об ошибке не троеточие, а таки указан индекс, то тебе только в одной строке надо посмотреть) и посмотри, что в них лежит.

Автор: kichSman 6.3.2009, 13:18
Цитата(skyboy @ 6.3.2009,  13:08)
тут так и есть троеточие?

Нет, там ссылка на файл

Автор: s0lman 6.3.2009, 18:05
Цитата(kichSman @  6.3.2009,  12:57 Найти цитируемый пост)
    
Notice: Undefined offset: ...on line 45

Сомневаюсь, что в массиве $giv_strock_red есть элемент с индексом 1

Автор: IZ@TOP 6.3.2009, 18:19
Советую 

Код

}else if(mb_?strpos("от ", $giv_link_strok[3])!==false){
[44]    $giv_strock_red=explode("от ",$giv_link_strock[3]);
[45]    $giv_strock=$giv_strock_red[1];
[46]}

// а еще следом вывести 
var_dump($giv_link_strok[3]);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)