Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PHP, Perl, Python Новый топик    Ответить
 Как поделить и получить результат в PHP  [new]
alikon1
Member

Откуда:
Сообщений: 231
Пробовал int(), intval() добавлять - всё-равно не делит. как же всё-таки получить результат $rub=$sum/$content;

<?php
 $content = "<span class='uccResultAmount'>6.00356</span>";
 $pos = strpos($content, "<span class='uccResultAmount'>");
 $content = substr($content, $pos);
 $pos = strpos($content, '</span>');
 $content = substr($content, 0, $pos);
 $content = str_replace("<span class='uccResultAmount'>",'', $content);
 $sum='<script type="text/javascript">var kurs = '.$content.', tenge = 7000, valuta; valuta = Math.round(tenge/kurs); document.write(valuta);</script>';
 $rub=$sum/$content;
echo ' content='.$content;
echo ' sum='.$sum;
echo ' rub='.$rub;
echo gettype($content);
echo gettype($sum);
echo gettype($rub);
?>
5 окт 17, 20:40    [20846472]     Ответить | Цитировать Сообщить модератору
 Re: Как поделить и получить результат в PHP  [new]
vkle
Member

Откуда: Самара
Сообщений: 13486
Не понятно, что следует делить.

В данном примере в переменной $sum живет строка "<script type=....". Вполне естественно, что строка перед делением будет преобразована в число 0 (ноль), что и даст в итоге нулевой результат.
5 окт 17, 20:56    [20846493]     Ответить | Цитировать Сообщить модератору
 Re: Как поделить и получить результат в PHP  [new]
alikon1
Member

Откуда:
Сообщений: 231
http://phptester.net/ выдает результат content=6.00356 sum=1166 rub=0 string string double
Но почему если вычисляется content и sum, их нельзя разделить
5 окт 17, 20:57    [20846499]     Ответить | Цитировать Сообщить модератору
 Re: Как поделить и получить результат в PHP  [new]
vkle
Member

Откуда: Самара
Сообщений: 13486
alikon1,

Ничего не путаете? В Вашем примере вовсе отсутствует "1166" в каком-либо виде.
5 окт 17, 21:00    [20846504]     Ответить | Цитировать Сообщить модератору
 Re: Как поделить и получить результат в PHP  [new]
vkle
Member

Откуда: Самара
Сообщений: 13486
alikon1
http://phptester.net/ выдает
Посмотрите исходник этой "выдачи". Там яваскрипт работает и уже он "выдает" эти 1166. Притом, выдает исключительно веб-браузеру.
5 окт 17, 21:04    [20846506]     Ответить | Цитировать Сообщить модератору
 Re: Как поделить и получить результат в PHP  [new]
alikon1
Member

Откуда:
Сообщений: 231
vkle
alikon1,
Ничего не путаете? В Вашем примере вовсе отсутствует "1166" в каком-либо виде.


Math.round(tenge/kurs) это 7000/6.00356 = 1166
5 окт 17, 21:10    [20846511]     Ответить | Цитировать Сообщить модератору
 Re: Как поделить и получить результат в PHP  [new]
alikon1
Member

Откуда:
Сообщений: 231
vkle
alikon1
http://phptester.net/ выдает
Посмотрите исходник этой "выдачи". Там яваскрипт работает и уже он "выдает" эти 1166. Притом, выдает исключительно веб-браузеру.


Regularlabs Sourcerer для Joomla так же работает, итоговый результат на сайте выходит как content=5.99775 sum=1000 rub=0 string string double. Каждая переменная выводится, но не результат их деления почему-то.
5 окт 17, 21:12    [20846513]     Ответить | Цитировать Сообщить модератору
 Re: Как поделить и получить результат в PHP  [new]
vkle
Member

Откуда: Самара
Сообщений: 13486
alikon1,

Вы хотите выполнить яваскрипт непосредственно в пхп? Тут не подскажу ничего.

Или Вы хотите непосредственно в пхп получить результат от деления 7000 на 6.00356, предварительно выковыряв эти значения из строк? Делитель Вы уже получили. Получите так же делимое и используйте его в $sum при делении. Затем округление результата.
Или, если следовать примеру, делимое можно вообще явно задать через отдельную переменную и потом использовать это число при составлении яваскрипта, если он вообще нужен.
5 окт 17, 21:25    [20846530]     Ответить | Цитировать Сообщить модератору
 Re: Как поделить и получить результат в PHP  [new]
Няшик
Member

Откуда: Екатеринбург
Сообщений: 726
$text = "<span class='uccResultAmount'>6.00356</span>";

if(preg_match_all("@<span class='uccResultAmount'>(\\d+\\.\\d+)</span>@", $text, $res)) {
 $res =  (float)$res[1][0]; // 6.00356
}
8 окт 17, 18:04    [20852509]     Ответить | Цитировать Сообщить модератору
 Re: Как поделить и получить результат в PHP  [new]
Няшик
Member

Откуда: Екатеринбург
Сообщений: 726
Бред какой - то.. Вставил перед переменной sum
echo var_dump (trim($sum));


PHP выводит

string(138) "1166"

Баг какой - то
8 окт 17, 18:17    [20852537]     Ответить | Цитировать Сообщить модератору
 Re: Как поделить и получить результат в PHP  [new]
Няшик
Member

Откуда: Екатеринбург
Сообщений: 726
А - Фу. Это баг того сайта.

http://sandbox.onlinephpfunctions.com/code/b53a977e4fced6ae893c99c7d2a870a836a2e2d2

Тут верно выводит, что и должно
8 окт 17, 18:22    [20852565]     Ответить | Цитировать Сообщить модератору
Все форумы / PHP, Perl, Python Ответить