У меня небольшие проблемы с этим кодом, который читает порядковые номера из текстового файла, а затем добавляет 1 к этому номеру. Однако PHP не складывает эти числа вместе, независимо от автоматического приведения типов …
$handle1 = fopen("ordernumbers.txt", "r");
$numberoforders = fgets($handle1);
$numberoforders = trim($numberoforders);
$orderid=$numberoforders+1;
echo $orderid;
При отображении $ numberoforders возвращается число 5 (тип — строка)
При отображении $ orderid возвращается 1, а 6.
Я не вижу здесь никакой проблемы, и она все еще не работает. Я также попытался изменить тип переменной со строки на int, а затем сложить эти числа вместе, но результат тот же (1).
изменить: вот содержимое TXT-файла:
http://imgur.com/bzjOuOJ
Как ваш var_dump дает string(4) ''5''
хранить строки в $numberoforders
должен содержать еще три символа.
Я подозреваю, что разрыв строки или что-то подобное
Поскольку $ numberoforders преобразуется в целое число и его значение равно 0, поэтому 0 + 1 = 1 — это результат, который вы получаете. Если вы хотите, чтобы число символов строки добавлялось к целочисленному значению, вам нужно сначала посчитать длину строки.
Вы можете получить свой результат так
$handle1 = fopen("ordernumbers.txt", "r");
$numberoforders = fgets($handle1);
$numberoforders = trim($numberoforders);
$numberoforders = strlen($numberoforders);
$orderid=$numberoforders+1;
echo $orderid;