Задать вопрос
@Anton1863

Почему число не хочет преобразовываться в строку?

Почему при явном указании числа с плавающей точкой вроде 1.5461 нормально преобразуются в строку, а числа вроде 1.0000 остаются числом, вот пример кода:
$start = (string)($recieve['result'][0]['start']);
			    $arr_text_two[$start] = array(
			    	'text' => $recieve['text'],
			    	'speaker_id' => 2
			    );


Здесь переменная $start служит индексом для массива, я задаю ей явное преобразование в строку, но на выходе для некоторых чисел все равно не получаю строку для индекса. Кто знает, в чем может быть причина?
  • Вопрос задан
  • 123 просмотра
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Это интересный вопрос, одна из неочевидностей РНР, впрочем, документированная

Дополнительно с ключом key будут сделаны следующие преобразования:

  • Строки (string), содержащие целое число (int) (исключая случаи, когда число предваряется знаком +) будут преобразованы к типу int. Например, ключ со значением "8" будет в действительности сохранён со значением 8. С другой стороны, значение "08" не будет преобразовано, так как оно не является корректным десятичным целым.


В свое время я очень крепко налетел на этом преобразовании. тоже думал, что строки кладу ключами...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽