Помогите разобраться с функцией в парсере
Есть функция парсера валют:
PHP код:
function delteg($string)
{
$keyp=0;
$out="";
$lenght=strlen($string);
for ($i=0; $i<$lenght; $i++) {
if ($string[$i]=="<"):
$keyp=1;
endif;
if ($keyp==0):
$out.=$string[$i];
endif;
if ($string[$i]==">"):
$keyp=0;
endif;
}
$out = substr($out,0,strlen($out)-1);
return $out;
}
$code = array(EUR);
$char3 = array();
$size = array();
$name = array();
$rate = array();
$change = array();
$n = 0;
$handle = fopen ("https://bank-ua.com/export/currrate.xml", "r");
while (!feof ($handle)) {
$buffer = fgets($handle, 4096);
if (strpos($buffer, "code")>0) ($code[$n]=delteg($buffer));
if (strpos($buffer, "char3")>0) ($char3[$n]=delteg($buffer));
if (strpos($buffer, "size")>0) ($size[$n]=delteg($buffer));
if (strpos($buffer, "name")>0) ($name[$n]=delteg($buffer));
if (strpos($buffer, "rate")>0) ($rate[$n]=delteg($buffer));
if (strpos($buffer, "change")>0) :$change[$n]=delteg($buffer);
$n++;
endif;
}
fclose ($handle);
for ($i=0; $i<$n; $i++) {
if($char3[$i]=='EUR'){
if ($change[$i]>0) {$change[$i]="Рост";}
if ($change[$i]<0) {$change[$i]="Уменьш";}
else {$change[$i]="без";} echo '<tr ><td align="center" width="40"><b>'.$char3[$i].'</b></td><td width="25"> '.$size[$i].' </td><td width="60" align="center"> '.$rate[$i].' </td><td align="center" width="50">'.$change[$i].'</td></tr>'; }}
Суть задачи сделать так, чтоб в зависимости от значения изменения курса валюты воводилась зеленая, красная или черная стрелочки(в случае если изменения не произошло). Вроде бы все работает но при наличии условия else {$change[$i]="без";} - всегда выводится этот результат, то есть тображает, что курс не изменился! Что не так или как сделать этот скрипт рабочим?
добавлено через 33 минуты
При изменении условия на:
PHP код:
if ($change[$i]==0) {$change[$i]="без";}
if ($change[$i]>0) {$change[$i]="Рост";}
if ($change[$i]<0) {$change[$i]="Уменьш";}
все заработало! В чем могла біть проблема?