Ссылки, используемые в функциях

Поскольку обе переменные — и Smyvar. и Smyref — представляют одни и те же данные, то если вы разрушите любую из них с помощью PHP-функции unset (), данные не будут потеряны. Оставшаяся переменная будет по-прежнему ссылаться на те же данные. И это справедливо независимо от того, сколько ссылок на одну переменную будут разрушено. До тех пор, пока хотя бы одна из переменных ссылается на элемент данных, он остается доступным в сценарии через эту переменную. (more…)

Tags: , ,

Related posts

Строки в РНР

Как и большинство других языков, РНР определяет строки как последовательности символов. Важно понимать, что понятие “символа” не ограничено только теми символами, которыми люди пользуются каждый день, — буквами алфавита, десятичными цифрами и знаками пунктуации. Смысл, ассоциируемый с понятием “символ”, означает только один байт данных. В зависимости от того, как этот байт используется, он может быть буквой, точкой растрового изображения и даже частью звуковой дорожки в формате МРЗ.
Поскольку символ представлен одним байтом данных, встроенные строки РНР способны хранить только до 256 разных значений каждого символа. Некоторые язы- ки, наприме (more…)

Tags: , ,

Related posts

Сравнение строк

Определение отношений между двумя строками не так очевидно, как те же операции с числами. Главная проблема заключается в контексте. Если вы сравниваете строки в двоичной форме, то два слова “Macro” и “macro” будут полностью различны, поскольку байтовое значение символа “М”, как и должно быть, отличается от значения символа “т”. Однако, в зависимости от ваших требований, “Macro” и “macro” могут быть эквивалентны и должны трактоваться именно так.
Наиболее простой способ сравнения двух строк предусматривает использование встроенны (more…)

Tags: , ,

Related posts

Результат

Вместо этого необходимо пользоваться операциями сравнения с контролем типов, которые могут проверить, что два сравниваемых операнда относятся к одному типу данных, прежде чем в действительности сравнивать их значения. Например, выражение:
(О === ‘Macro’J;
вернет значение false, что, очевидно, и ожидалось получить. То же произойдет с выражением:
(О === ‘ 0 ‘) ; (more…)

Tags: , ,

Related posts

“сходства”

Довольно трудно научить компьютер понимать” строки так же, как это делает человек. Типичный пример этой проблемы — ошибки правописания, в частности, когда вы имеете дело с именами.
Несмотря на то что не существует решений, которые хотя бы в начальной степени приближались к возможностям человеческого мозга, все же некоторые алгоритмы в течении мнопгх лет были разработаны для определения “сходства” между строками в виде полутонов, вместо “черно-белого” подхода.Одним из примеров этого является алгоритм soundex, (more…)

Tags: , ,

Related posts