несмотря на все усилия, которые я дал на typecasting с использованием функции (int)
и intval()
. Я все еще не могу преобразовать строку в целое.
Всякий раз, когда я использую эту функцию, строка преобразуется в 0
Вот мой фрагмент кода:
$resolution = "<script type='text/javascript'> document.write('#'+screen.width+'#');</script >"; $screen=str_replace("#","",$resolution); echo $wid = (int)$screen; echo $s = 98 * $wid;
Результат типа 0 равен 0.
Я даже пытался распечатать данные с помощью var_dump
но он также показывает как int(0)
Ваша логика ошибочна.
Вы смешиваете серверный и клиентский коды.
Сервер генерирует код (php), а затем передает результаты клиенту. Затем клиент получает сгенерированные результаты и анализирует javascript.
<?php // this is server code, resolution will be just a string to the server $resolution = "<script type='text/javascript'> document.write('#'+screen.width+'#');</script>"; // you are now removing the # from the above string but keeping it all intact $screen=str_replace("#","",$resolution); // converting it to int returns a stupid value (zero?) echo $wid = (int)$screen; echo $s = 98 * $wid; ?>