Строка PHP для плавания

Трудно сказать, не видя, что находится в вашем файле url/index.js, но, вероятно, он пытается добавить узел к элементу <body> или его потомку до того, как он существует. Он еще не будет существовать, если вы вызываете этот скрипт в разделе <head>.

Причина, по которой <p></p> исправляет это, заключается в том, что если браузер получает следующее:

<head>
  <script>
    console.log(document.body);
  </script>
</head>

Он видит, что это недействительный HTML, и поэтому он интерпретируется как:

<html>
  <head>
    <script>
    console.log(document.body);
    </script>
  </head>
  <body></body>
</html>

- тело не существует к моменту запуска сценария, поэтому консоль записывает в журнал null.

Если браузер получает:

<p>Paragraph</p>
<head>
  <script>
    console.log(document.body);
  </script>
</head>

... это снова недействительный HTML, и он интерпретируется как

<html>
  <head></head>
  <body>
    <p>Paragraph</p>
    <script>
      console.log(document.body);
    </script>
  </body>
</html>

... и элемент тела существует, когда скрипт выполняется, поэтому он регистрирует элемент body на консоли.

В итоге: Вы должны убедиться, что весь ваш HTML верен, и что ваш скрипт только пытается добавить что-то к элементу, который уже существует.

104
задан Nik 28 June 2019 в 16:31
поделиться

4 ответа

$rootbeer = (float) $InvoicedUnits;

Должен сделать это для Вас. Выезд Манипулирование Типа . Необходимо также читать Преобразование строк в Номера .

178
ответ дан Sampson 24 November 2019 в 04:06
поделиться

Вы хотите функция non-locale-aware floatval :

плавание floatval (смешанный $var) - Получает значение плавающее строки.

Пример:

$string = '122.34343The';
$float  = floatval($string);
echo $float; // 122.34343
57
ответ дан hakre 24 November 2019 в 04:06
поделиться

Работа с разметкой с плавающей запятой - нетривиальная задача. В английской / американской нотации вы отформатируете тысячу плюс 46 * 10-2 :

1,000.46

Но в Германии вы бы изменили запятую и точку:

1.000,46


Это затрудняет угадывание правильного числа в multi -языковые приложения.
Я настоятельно рекомендую использовать Zend_Measure Zend Framework для этой задачи. Этот компонент преобразует строку в число с плавающей запятой в соответствии с языком пользователя.

8
ответ дан 24 November 2019 в 04:06
поделиться

Ну, если пользователь напишет 1,00,000, тогда переменная с плавающей запятой покажет ошибку. Итак -

floatval(preg_replace("/[^-0-9\.]/","",$input));

Это намного надежнее.

Использование:

$input = '1,03,24,23,434,500.6798633 this';
echo floatval(preg_replace("/[^-0-9\.]/","",$input));
22
ответ дан 24 November 2019 в 04:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: