Інформація у всі часи являла собою символи. Тільки коли з'явилося програмування, вона частково стала літерами, цифрами і знаками (у формальному сенсі). До відомого часу найбільшою популярністю користувалася усна мова, власноруч виготовлені символи, жести, а також твори мистецтва, зокрема. Важливо, що всі ці варіанти природного подання інформації від мала до велика завжди можна було описати словами, тобто зробити доступними програмної обробці в тому чи іншому сенсі.
Рядки і числа
Рядки - це, насамперед, сукупністю різних символів. У різних засобах програмування дробова частина відокремлювалася від цілої по-різному. Одні воліли точку, інші кому (в PHP перетворення рядка в число увазі "."). Тріади поділялися одинарним апострофом, коми або пробілом. Речові числа записувалися через літеру "Е". Все це формальності. Математика та принципи роботи будь-якого процесора завжди визнавали числа без надмірностей, а для роботи з речовими значеннями були розроблені відповідні додаткові процесори.
Але світ змінних конкретного типу (для програм початку ери) і реалізація сучасної ідеї консенсусу всіх типів даних означає: в PHP перетворення рядка в число все одно що нічого не зробити. У кращому випадку PHP «відріже», а точніше, зробить 0 або число, якщо у вихідній рядку є хоча б одна цифра. Всі цифри до першого нецифрового символу складуть це число.
Загальне правило перетворення
На PHP перетворення рядка в число, якщо програміст не вказав інше, відбувається автоматично в момент застосування. Якщо змінна містить лише цифри і точку, то може бути отримано дійсне число. Якщо в послідовності цифр зустрінеться кома, то все, що йде до неї, буде інтерпретовано як число, природно, ціле.
Будь нецифровому символ в послідовності цифр зупиняє процес і результат перетворення PHP "рядок" буде лише тим значенням, яке сформувалося до першого нецифрового символу.
Математика та обробка символів
Що складніше, перше або друге, навіть з позицій формул, що не поміщаються на сторінці, значних матриць, графів, розплутати які деколи не можуть навіть автори, похідних від інтегралів, диференціалів від інтегралів і багаточленів n-те покоління, сказати дуже просто: суспільство, безсумнівно, шанує заслуги математики і математиків, але обробка символів важливіше, складніше і покриває математику, як пухова ковдра, забезпечуючи допитливому розуму, не може вийти за межі магії чисел, сприятливе середовище для творчості.
Зазвичай на PHP рядок в число перетворюється автоматично, але ніколи не буде зайвим перевірити це. Найкраще завжди бути впевненим: PHP правильно розуміє, що та чи інша змінна - це число. Якщо є хоч тінь сумніву, необхідно явно вказати тип змінної (int) або (float) перед значенням і перевірити, як PHP розуміє тип змінної функціями is_integer() або is_float().
Тенденції сучасного програмування
Класична інтерпретація задачі на PHP "рядок" лежить в межах уявлень сучасного програмування. Зворотний процес має значно більш різноманітні варіанти. Функціями number_format(), printf(), sprintf() можна творити чудеса, причому не тільки на рівні одного числа, але і групи чисел. Перетворення на PHP " рядок" свідчить, скоріше, про те, що і це можемо, але м атематика і чисельні обчислення - це не наш коник.
Написати пристойний і надійний функціонал, що реалізує ту або іншу обробку чисел на PHP, не становить проблем, і результат не буде чим-то гірше результату від більш математичних мов. PHP - це, насамперед, мова сервера, мова для обробки інформації, в тому числі і математичного характеру.