---

name: Явное преобразование типов
theory: |

  Преобразование типов довольно частая операция в веб-разработке. С одной стороны, для её выполнения можно полагаться на слабую типизацию, с другой — во многих ситуациях лучше делать преобразование явно, используя специальный синтаксис. Такой код понятнее и предсказуемее.

  ```php
  <?php

  // Примеры немного искусственные. В реальности этот механизм становится полезен при использовании переменных
  print_r((string) 5);
  print_r((int) '345');
  ```

  Явное преобразование типа работает так: перед значением, в скобках, указывается желаемый тип. В результате значение справа преобразуется в значение другого типа, указанного слева в скобках. На текущий момент мы знакомы только с двумя типами, но преобразование работает для любого типа. Например, при преобразовании дробного числа в целое, число будет округлено в меньшую сторону

  ```php
  <?php

  print_r((int) 5.73); // => 5
  ```

  Преобразование типов можно использовать внутри составных выражений:

  ```php
  <?php

  // Дополнительные скобки помогают визуально отделить части выражения друг от друга
  print_r('Это ' . ((string) 5));
  ```

  <pre class='hexlet-basics-output'>
    Это 5
  </pre>

  В более сложных ситуациях (при использовании функций, которые проходятся позже) встречаются множественные преобразования: `(string) (5 + ((int) '4'))`. Порядок вычисления этого выражения следующий:

  ```php
  <?php

  (int) '4';  // 4
  5 + 4;      // 9
  (string) 9; // '9'
  ```

instructions: |

  Выведите на экран строку `2 times`, полученную из числа 2.9 и строки `times`, используя преобразования типов и конкатенацию. Для этого нужно выполнить два преобразования: сначала в целое число, а затем в строку

definitions: []

tips: []
