PHP/FI Version 2.0

23238a6d

Обратите внимание, что функция является



Пример 2

void UnixTime(void) { char temp[32]; sprintf(temp,"%ld",(long)time(NULL)); Push(temp,LNUMBER); }

Обратите внимание, что функция является фунцией void.Это указывает, что она не возвращает ничего. Это может показаться путанным, потому что очевидно функция так или иначе должна возвратить время. Время возвращается, но не как значение возвращаемое функцией. Оно помещается в то, что называется стеком выражений. Стек выражений - просто стек строк и связанных с ними типов. PHP/FI понимает только 3 основных типа переменных: STRING, LNUMBER и DNUMBER. STRING - символьная строка, LNUMBER - длинное целое число, и DNUMBER - значение double или float. В этом примере Time() , значение, которое будет возвращено - время, выраженное в формате Unix (число секунд начиная с января. 1 1970) и - таким образом целое число. Стек выражения принимает только строки, таким образом мы преобразуем, с помощью sprintf, длинное целое число в строку и помещаем это значение в стек, указывая, что это фактически является длинным целым числом с помощью строки: Push(temp,LNUMBER);

Содержание раздела