Ресурс это специальная переменная, содержащая ссылку
на внешний ресурс. Ресурсы создаются и используются с помощью специальных функций.
См. в Приложении полный листинг этих функций и соответствующих типов ресурсов.
В связи с наличием системы reference-counting/подсчёта ссылок,
введённой в Zend-машине РНР 4, производится автоматическое определение, когда
на ресурс больше нет ссылки (как в Java). Если этот так, все ресурсы, которые
использовались для данного resource, освобождаются сборщиком мусора/garbage collector.
Поэтому вряд ли когда-нибудь понадобится освобождать память вручную путём использования
функции free_result. Библиотека
в Калифорнии
natcasesort
natsort ncurses_addch
ncurses_addchnstr ncurses_addchstr
ncurses_addnstr ncurses_addstr
ncurses_assume_default_colors
ncurses_attroff ncurses_attron
ncurses_attrset ncurses_baudrate
ncurses_beep ncurses_bkgd
ncurses_bkgdset ncurses_border
ncurses_can_change_color ncurses_cbreak
ncurses_clear ncurses_clrtobot
ncurses_clrtoeol ncurses_color_set
ncurses_curs_set ncurses_def_prog_mode
ncurses_def_shell_mode ncurses_define_key
ncurses_delay_output ncurses_delch
ncurses_deleteln ncurses_delwin
ncurses_doupdate ncurses_echo
ncurses_echochar ncurses_end
ncurses_erase ncurses_erasechar
ncurses_filter ncurses_flash
ncurses_flushinp ncurses_getch
ncurses_getmouse ncurses_halfdelay
ncurses_has_colors ncurses_has_ic
ncurses_has_il ncurses_has_key
ncurses_hline ncurses_inch
ncurses_init ncurses_init_color
ncurses_init_pair ncurses_insch
ncurses_insdelln ncurses_insertln
ncurses_insstr ncurses_instr
ncurses_isendwin ncurses_keyok
ncurses_killchar ncurses_longname
ncurses_mouseinterval ncurses_mousemask
ncurses_move ncurses_mvaddch
ncurses_mvaddchnstr ncurses_mvaddchstr
ncurses_mvaddnstr Теоретическая механика
Сопротивление материалов Иметь
представление о видах расчетов в сопротивлении материалов, о классификации нагрузок,
о внутренних силовых факторах и возникающих деформациях, о механических напряжениях.Строки
string
это серия символов. В PHP символ это то же самое, что и байт, то есть имеется
точно 256 различных возможных символов. Это также предполагает, что в PHP нет
встроенной поддержки Unicode. Период
Северная Вэй После крушения Ханьской империи Китай на целых сто пятьдесят
лет стал добычей кочевых племён, разорявших города, уничтожавших дворцы, грабивших
ценности. Страна вновь оказалась раздробленной на мелкие царства. Начало новому
объединению положило создание в Северном Китае государства Северная Вэй (Тоба
Вэй; 386—535 гг.), основанного Тоба Гуем — вождём кочевых племён сяньбийцев.
Примечание: строки могут быть очень большими. Практически нет ограничений
на размер строк в PHP, поэтому нет никаких причин заботиться о длине строк.
Строковой
литерал может специфицироваться тремя способами.
-
одинарными кавычками
-
двойными кавычками
-
heredoc-синтаксисом
Простейший способ специфицировать строку - заключить её в одинарные
кавычки (символ ').
Для специфицирования литеральной одинарной
кавычки вам нужно мнемонизировать/escape её с помощью backslash (\),
как во многих других языках. Если backslash должен появиться перед одинарной кавычкой
или в конце строки, нужно его удвоить. Обратите внимание, что если вы захотите
мнемонизировать любой другой символ, backslash также будет напечатан! Поэтому
обычно нет необходимости мнемонизировать сам backslash.
Примечание:
в PHP 3 при этом будет выведено предупреждение уровня E_NOTICE.
Примечание: в отличие от двух других видов синтаксиса, переменные здесь
не разворачиваются (не обсчитываются), когда находятся внутри строки, заключённой
в одинарные кавычки.
echo 'Это простая строка.'; echo 'Вы можете также внедрять в строки
символы newline, как здесь.'; echo 'Arnold once said: "I\'ll be back"'; // на
выходе: ... "I'll be back" echo 'Are you sure you want to delete C:\\*.*?'; //
на выходе: ... delete C:\*.*? echo 'Are you sure you want to delete C:\*.*?';
// на выходе: ... delete C:\*.*? echo 'I am trying to include at this point: \n
a newline'; // на выходе: ... this point: \n a newline |
Двойные
кавычки
Если строка заключена в двойные кавычки ("), PHP понимает б́ольшее
количество escape-последовательностей (мнемоник) специальных символов:
ncurses_mvaddstr
ncurses_mvcur ncurses_mvdelch
ncurses_mvgetch ncurses_mvhline
ncurses_mvinch ncurses_mvvline
ncurses_mvwaddstr ncurses_napms
ncurses_newwin ncurses_nl
ncurses_nocbreak ncurses_noecho
ncurses_nonl ncurses_noqiflush
ncurses_noraw ncurses_putp
ncurses_qiflush ncurses_raw
ncurses_refresh ncurses_resetty
ncurses_savetty ncurses_scr_dump
ncurses_scr_init ncurses_scr_restore
ncurses_scr_set ncurses_scrl
ncurses_slk_attr ncurses_slk_attroff
ncurses_slk_attron ncurses_slk_attrset
ncurses_slk_clear ncurses_slk_color
ncurses_slk_init ncurses_slk_noutrefresh
- Геометрический смысл дифференциала ncurses_slk_refresh
ncurses_slk_restore ncurses_slk_touch
ncurses_standend ncurses_standout
ncurses_start_color ncurses_termattrs
ncurses_termname ncurses_timeout
ncurses_typeahead ncurses_ungetch
ncurses_ungetmouse ncurses_use_default_colors
ncurses_use_env ncurses_use_extended_names
ncurses_vidattr ncurses_vline
ncurses_wrefresh next
ngettext nl2br nl_langinfo
notes_body notes_copy_db
notes_create_db notes_create_note
notes_drop_db notes_header_info
notes_list_msgs notes_mark_read
notes_mark_unread notes_nav_create
notes_search notes_unread
notes_version number_format
Трюки с типами
PHP не требует (и не поддерживает) явного определения
типа при объявлении переменной; тип переменной определяется по контексту, в котором
она используется. То есть, если вы присваиваете строковое значение переменной
var, var становится строкой. Если вы затем присваиваете
переменной var целочисленное значение, она становится целым числом.
Примером
автоматической конвертации в PHP является операция сложения '+'. Если любой из
операндов float, то все операнды вычисляются как float, и результат также будет
float. Если же операнды интерпретируются как целые числа, то и результат будет
целочисленным.
Обратите внимание, что при этом НЕ изменяются типы самих операндов;
это делается только на этапе вычисления операндов.
$foo = "0"; // $foo это строка (ASCII 48) $foo += 2; // теперь
$foo это integer (2) $foo = $foo + 1.3; // теперь $foo это float (3.3) $foo =
5 + "10 Little Piggies"; // $foo это integer (15) $foo = 5 + "10 Small Pigs";
// $foo это integer (15) |
Если вы хотите форсировать
вычисление переменной как имеющей определённый тип, см. раздел Приведение типов.
Если вы хотите изменить тип переменной, см. settype().
Если вы хотите
протестировать любой из примеров этого раздела, вы можете использовать функцию
var_dump().
Примечание: поведение автоматической
конвертации для массива в настоящее время не определено.
$a = 1; // $a это integer $a[0] = "f"; // $a становится массивом,
а $a[0] содержит "f" |
Предыдущий пример кажется похожим
на следующий, делая $a массивом, первый элемент которого содержит 'f'. Теперь
рассмотрим:
$a = "1"; // $a это string $a[0] = "f"; // Что будет со смещением строки?
Что произойдёт? |
Поскольку PHP поддерживает индексирование
в строках через смещение с использованием того же синтаксиса, что и при индексировании
массива, вышеприведённый пример создаст проблему: должна ли $a становиться массивом
с первым элементом "f", или "f" должен стать первым символом строки $a?
Исходя
из этого, как указано в PHP 3.0.12 и PHP 4.0b3-RC4, результат этой автоматической
конвертации рассматривается как неопределённый/undefined. Пути разрешения, однако,
обсуждаются.
Приведение типов
Приведение типов в PHP
работает так же, как и в C: имя нужного типа записывается в скобках перед переменной,
которая к этому новому типу приводится.
$foo = 10; // $foo это integer $bar = (float) $foo; // $bar это
float |
Допускаются следующие приведения типов:
-
(int), (integer) - приведение к integer
-
(bool), (boolean)
- приведение к boolean
-
(float), (double), (real) - приведение
к float
-
(string) - приведение к string
-
(array)
- приведение к array
-
(object) - приведение к object
Примечание: вместо приведения переменной к строке, вы можете также
заключить переменную в двойные кавычки.
Заметьте, что табуляции
и пробелы допускаются внутри скобок, поэтому следующие варианты функционально
эквивалентны:
$foo = (int) $bar; $foo = ( int ) $bar; |
Возможно
сейчас не очевидно, что происходит при приведении конкретных типов. Дополнительно
см. разделы:
-
Конвертация в boolean
-
Конвертация в
integer
При приведении или форсировании конвертации из массива
в строку, результатом станет слово Array. При приведении или форсировании
конвертации из объекта в строку, результатом станет слово Object.
При
приведении скалярной или строковой переменной к массиву, переменная станет первым
элементом этого массива:
$var = 'ciao'; $arr = (array) $var; echo $arr[0]; // выведет 'ciao' |
При приведении скалярной или строковой переменной к объекту, переменная
станет атрибутом этого объекта; имя атрибута будет 'scalar':
$var = 'ciao'; $obj = (object) $var; echo $obj->scalar; //
выведет 'ciao' |