Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2011, 16:54   #1
Русtam
Пользователь
 
Регистрация: 27.06.2011
Сообщений: 60
По умолчанию Чудеса инкремента

Здравствуйте, на днях читал главу по теме "работа с файлами" и наткнулся на такой скрипт (это просто счетчик не чего особенного) но самое главное это коменты которые даны к этому скрипту объясняющие его работу.
Вот сам код .Сам счетчик конечно не очень, но в этой книге как правило все примеры (ГОВНОКОД).
PHP код:
<?php
//hit_counter01.php
$counter_file "./count.dat";
if(!(
$fp fopen($counter_file"r"))){
die (
"Невозможно открыть файл $counter_file.");
}
$counter = (int) fread($fp20); //тут в переменной указывается тип int  так как  функция возвращает  строку
fclose($fp);
$counter++;
echo 
"Вы – посетитель № $counter.";
$fp fopen($counter_file"w");
fwrite($fp$counter);
fclose($fp);
?>
КОМЕНТАРИИ -> (Так как функция fread() возвращает строковое значение, последнее число посещений, считанное из файла, необходимо конвертировать в целое значение, поэтому
применяется функция преобразования типа (int).).
Просмотрев этот код мне стали интересны эти строки .
PHP код:
$counter = (int) fread($fp20);
fclose($fp);
$counter++; 
И я изменил их на это
PHP код:
$counter =  fread($fp20);//убрал тип целого числа 
echo(gettype($counter));//вывел тип string
fclose($fp);//закрытие
$counter++;//инкремент
echo(gettype($counter));//и вот тут после инкремента  уже не string а int 
Я задался вопросом "почему после инкремента переменной она вдруг превратилась из строковой в целочисленную?"-> значит коменты к скрипту это ерунда и указывать тип переменной не имеет смысла.

И вот еще код написал который инкрементит строку (просто хотел попробовать)
PHP код:
<?
echo '</br>';
$in 'hhh';
$in++;
echo 
$in;//тут выводит (hhi)
$in++;
echo 
$in;//тут выводит (hhj)
?>
Получается инкремент по алфавиту.

ПИШУ ЭТО ВСЕ ПО ТОМУ ЧТО НЕ ГДЕ В ИНЕТЕ ПРО ЭТО НЕ СКАЗАНО И Я ПОДУМАЛ МОЖЕТ ДЛЯ КОГО НИБУДЬ БУДЕТ ИНТЕРЕСНО (НОВИЧКАМ НАПРИМЕР ) ИЛИ ТАКИМ ЖЕ НЕ ПРОСВЕЩЕННЫМ.
Русtam вне форума Ответить с цитированием
Старый 27.11.2011, 17:08   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Русtam Посмотреть сообщение
ПИШУ ЭТО ВСЕ ПО ТОМУ ЧТО НЕ ГДЕ В ИНЕТЕ ПРО ЭТО НЕ СКАЗАНО
Манипуляции с типами данных в PHP внятно и доступно описаны в мануале.
Мануал по языку в таких случаях читать гораздо полезнее, чем искать ответы в интернетах...
Andkorol вне форума Ответить с цитированием
Старый 27.11.2011, 17:12   #3
Русtam
Пользователь
 
Регистрация: 27.06.2011
Сообщений: 60
По умолчанию

БЛИН (намусорил зря)-извиняюсь.
Русtam вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
получение id инкремента mrgrudge PHP 1 25.02.2011 11:41
Чудеса Vikenty Свободное общение 10 14.10.2010 20:27
Чудеса в Borland C++ 3.1 LightWarrior Общие вопросы C/C++ 5 06.01.2010 03:37
программу с примерами постфиксной и префиксной формами инкремента и декремента Angel of death Помощь студентам 3 17.11.2009 18:13