Skip to content

Latest commit

 

History

History
18 lines (14 loc) · 1.25 KB

3 (strlen).md

File metadata and controls

18 lines (14 loc) · 1.25 KB

TODO

Какова алгоритмическая сложность (в О-нотации) функции strlen($s) в PHP? Прокомментируйте свой ответ.

Решение

Ответ: O(1)

Habrahabr:

"strlen() не вычисляет длины строк в PHP, ведь все они уже известны к моменту вызова этого метода. Большинство по возможности вычисляется еще во время компиляции. Длина PHP-строки, отправляемой в память, инкапсулируется в С-структуру, содержащую эту самую строку. Поэтому strlen() просто считывает эту информацию и возвращает как есть. Вероятно, это самая быстрая из PHP-функций, потому что она вообще ничего не вычисляет."

PHP Source code:

#define Z_STRLEN(zval) (zval).value.str.len

PHP Doc:

int len; /* this will always be set for strings */