[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: syntax error, unexpected $end
d.i.frol
Доброе время суток, вот такая вот ошибка в конце кода syntax error, unexpected $end, все 5 раз пересмотрел, не пойму в чем дело, и это после того как перенес скрипт из денвера на xamp, вот код, помогите разобраться
<?php

$marks = file_get_contents('marks_models.txt');
$marks_models = explode("\n", $marks);
unset($marks_models[720]);


$b = array();

foreach ($marks_models as &$v)
{
$b[]= explode("\t", $v);


}

$rt=array();
for ($j = 0; $j < count($b); $j++)
{
$mrc=mb_convert_encoding($b[$j][6], 'UTF-8','Windows-1251');
if (!in_array($mrc, $rt)) $rt[]=$mrc;

}

$out = '<?xml version="1.0" encoding="UTF-8"?>
<kasko_alpha_cars>'
;
for ($j = 0; $j < count($b); $j++)
{

$mark = mb_convert_encoding($b[$j][2], 'UTF-8','Windows-1251');
$model = mb_convert_encoding($b[$j][3], 'UTF-8','Windows-1251');
$mrc = mb_convert_encoding($b[$j][6], 'UTF-8','Windows-1251');
$mrc = array_search($mrc, $rt) ;
$kvs = $b[$j][7];
$fifty = $b[$j][10];
$smart = $b[$j][11];

$out .= '
<car brand="$mark" model="$model" group="$mrc" fifty="$fifty" acc="$smart" pro="" kvs_group="$kvs"/>
'
;

}
$out .= '</kasko_alpha_cars>';





$file1 = file_get_contents('alpha_toparse_tarif.txt');
$tarif = explode("\n", $file1);
unset($tarif[308]);




$a = array();

foreach ($tarif as &$w)
$a= explode("\t", $w);

$ind=array() ;

for ($j = 0; $j < count($a); $j++)
{
$group[$j] = mb_convert_encoding($a[$j][0], 'UTF-8','Windows-1251');
$id = array_search($rt, $group) ;

}


$file = fopen("my_file.xml","w");
$write = fputs ( $file, $out);
$fclose = $file;






$fh = fopen('1.txt', "r");
$i = 0;
while (!feof($fh))
{
$line = fgets($fh, 4096);
$str[$i] = $line;
$i++;
}
fclose($fh);
foreach ($str as &$q)
$val = explode("\t", $q);
$val[0] = str_replace('р.', '', $val[0]);
$val[0] = str_replace(' ', '', $val[0]);
$max = count($val) - 2;




$xl = '<?xml version="1.0" encoding="UTF-8"?>
<kasko_alpha_tarif>'
;
$xl.= "\r\n";
for ($j=0; $j<$max; $j++)
{

$tu_str = $val[$j]+1;

$xl.= '<group id="'.$j.'" >';
$xl.= "\r\n";

for ($i = 0; $i < count($val[0]); $i++)
{
$xl .= '<value sum="'.$val[0][$i].'" tu="'.$tu_str[$i].'" th=""/>';
$xl .= "\r\n";
}




$xl.= '</group>';

$xl .= "\r\n";
}


$xl.= '</kasko_alpha_tarif>';
$file3 = fopen("my_file2.xml","w");
$write3 = fputs ( $file3, $xl);
$fclose = $file3;






?>




Спустя 2 минуты, 18 секунд (23.01.2011 - 13:42) d.i.frol написал(а):
все скобки на месте....

Спустя 2 минуты, 44 секунды (23.01.2011 - 13:45) alex12060 написал(а):

$out .=<<<HERE
<car brand="$mark" model="$model" group="$mrc" fifty="$fifty" acc="$smart" pro="" kvs_group="$kvs"/>
HERE;



Попов детектед? оО

Спустя 3 минуты, 1 секунда (23.01.2011 - 13:48) inpost написал(а):
d.i.frol
в 99% случаев это скобки, ты точно весь скрипт показал от начала до конца, или есть ещё другая часть? На первый взгляд ошибки в скобках нету, советую по частям вырезать, пока не дойдешь до того, что текст станет пустым. Так и выловишь ошибку. Сначала одно условие срезал, потом второе, потом третье, и так шаг за шагом!

Спустя 1 минута, 13 секунд (23.01.2011 - 13:49) inpost написал(а):
alex12060
Это не Попов детектед, это правильное применение <<<HERE. Вот как раз в таких случаях, когда длинный текст и не хочется применять стили и нужно использовать конструкцию <<<HERE, то есть дописывать в переменную HTML-код!

Спустя 2 минуты, 58 секунд (23.01.2011 - 13:52) d.i.frol написал(а):
и так делал, каждую часть кода удалял, может быть проблема в php.ini?

Спустя 40 секунд (23.01.2011 - 13:53) d.i.frol написал(а):
показал весь скрипт

Спустя 1 минута, 39 секунд (23.01.2011 - 13:54) alex12060 написал(а):
На 1 взгляд, все норма, но я посоветовал бы тебе проставить скобки, где у тебя идут foreach()

Спустя 39 секунд (23.01.2011 - 13:55) inpost написал(а):
Потратил 1 минуту, ошибка в этой строчке:
    $xl .= '<value sum="'.$val[0][$i].'" tu="'.$tu_str[$i].'" th="''"/>';

Спустя 3 минуты, 34 секунды (23.01.2011 - 13:58) d.i.frol написал(а):
ошибка в том что th=ничего не присвоенно?

Спустя 3 минуты, 13 секунд (23.01.2011 - 14:02) inpost написал(а):
В том, что логические части необходимо разделять точками.
Поэтому либо так: th="" (то есть 1 логическая часть без разделения), либо так: th="'.'" - так как вывод первый убрал, второй вывод начинаешь уже с разделения точкой
Пример: echo 'A'.'B'.'C';

Спустя 3 минуты, 38 секунд (23.01.2011 - 14:05) d.i.frol написал(а):
не помогло даже если я удаляю весь этот цикл проблема остается, скажи а что должно стоять в error_reporting?

Спустя 1 минута, 51 секунда (23.01.2011 - 14:07) inpost написал(а):
d.i.frol
Ах да, я ещё <<<HERE убрал у себя, его тоже замени на обычный вид:
$a .= 'aa'.$.'bb'.$;

Спустя 47 секунд (23.01.2011 - 14:08) inpost написал(а):
Вверху есть твой код, его я подправил! Просто нажми редактировать тему, скопируй код и вставь к себе, теперь ошибки не должно быть!

Спустя 9 минут, 8 секунд (23.01.2011 - 14:17) d.i.frol написал(а):
я подправил, все заработало, спасибо огромное, очень помог)))

Спустя 49 минут, 1 секунда (23.01.2011 - 15:06) d.i.frol написал(а):
еще один вопрос по этому коду, помогите если не сложно
for ($i = 0; $i < count($val[0]); $i++)
{
$xl .= '<value sum="'.$val[0][$i].'" tu="'.$tu_str[$i].'" th=""/>';
$xl .= "\r\n";
}

здесь переменная $tu_str[$i] это массив, который имеет следующий вид
[php[1]=>
array(84) {
[0]=>
string(0) ""
[1]=>
string(0) ""
[2]=>
string(0) ""
[3]=>
string(0) ""
[4]=>
string(0) ""
[5]=>
string(0) ""
[6]=>
string(0) ""
[7]=>
string(0) ""
[8]=>
string(0) ""
[9]=>
string(0) ""
[10]=>
string(0) ""
[11]=>
string(0) ""
[12]=>
string(0) ""
[13]=>
string(0) ""
[14]=>
string(0) ""
[15]=>
string(0) ""
[16]=>
string(0) ""
[17]=>
string(6) "10,95%"
[18]=>
string(6) "10,45%"
[19]=>
string(6) "10,00%"
[20]=>
string(5) "9,60%"
[21]=>
string(5) "9,20%"
[22]=>
string(5) "8,85%"
[23]=>
string(5) "8,55%"
[24]=>
string(5) "8,25%"
[25]=>
string(5) "7,95%"
[26]=>
string(5) "7,70%"
[27]=>
string(5) "7,20%"
[28]=>
string(5) "6,80%"
[29]=>
string(5) "6,40%"
[30]=>
string(5) "6,05%"
[31]=>
string(5) "5,75%"
[32]=>
string(5) "5,50%"
[33]=>
string(5) "5,25%"
[34]=>
string(5) "5,00%"
[35]=>
string(5) "4,85%"
[36]=>
string(5) "4,75%"
[37]=>
string(5) "4,70%"
[38]=>
string(5) "4,60%"
[39]=>
string(5) "4,50%"
[40]=>
string(0) ""
[41]=>
string(0) ""
[42]=>
string(0) ""
[43]=>
string(0) ""
[44]=>
string(0) ""
[45]=>
string(0) ""
[46]=>
string(0) ""
[47]=>
string(0) ""
[48]=>
string(0) ""
[49]=>
string(0) ""
[50]=>
string(0) ""
[51]=>
string(0) ""
[52]=>
string(0) ""
[53]=>
string(0) ""
[54]=>
string(0) ""
[55]=>
string(0) ""
[56]=>
string(0) ""
[57]=>
string(0) ""
[58]=>
string(0) ""
[59]=>
string(0) ""
[60]=>
string(0) ""
[61]=>
string(0) ""
[62]=>
string(0) ""
[63]=>
string(0) ""
[64]=>
string(0) ""
[65]=>
string(0) ""
[66]=>
string(0) ""
[67]=>
string(0) ""
[68]=>
string(0) ""
[69]=>
string(0) ""
[70]=>
string(0) ""
[71]=>
string(0) ""
[72]=>
string(0) ""
[73]=>
string(0) ""
[74]=>
string(0) ""
[75]=>
string(0) ""
[76]=>
string(0) ""
[77]=>
string(0) ""
[78]=>
string(0) ""
[79]=>
string(0) ""
[80]=>
string(0) ""
[81]=>
string(0) ""
[82]=>
string(0) ""
[83]=>
string(2) "
][/php]
как мне задать условие чтобы все нулевые значения в начале массива заменялись на следующий ненулевой, а нулевые последние на последний ненулевой, может кто сталкивался?
Быстрый ответ:

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