Строка - это массив символов, правильно? Если да, то почему count()
не производит тот же результат, что и strlen()
в строке?
PHP - почему функция count() не работает как strlen() в строке?
Ответ 1
Строка - это массив символов в C, C++ и Java. В PHP это не так. Помните, что PHP - очень свободный язык, вы, вероятно, можете получить символ из строки PHP с помощью []
-selector, но он все равно не сделает его массивом.
Ответ 2
Если это не объект, count
выдает свой аргумент массиву и
count((array) "example")
= count(array("example"))
= 1
Ответ 3
count()
подсчитывает количество записей в Array
.
$test = array(1,2,3);
echo count($test);
Выход: 3
Почему вы хотите использовать count()
в string
, когда strlen()
может это сделать? Вы не уверены, что ваш вход - string
или Array
? Затем используйте is_array()
, чтобы проверить это.
Ответ 4
Как точно строка обрабатывается внутренне определенным языком программирования, не обязательно означает, что вы можете обрабатывать ее одинаково для связанных с этим типов данных. То, что вы описываете, может быть возможно на простом C. Однако PHP не является C и поэтому не соответствует тем же характеристикам.
Ответ 5
Строки - это всего лишь серия символов, а count
учитывает только количество элементов в массиве.
используя $string [$ index]; его просто ярлык, способный помочь вам найти N-го символа,
вы можете использовать count(explode('',$string));
, который предположительно является тем, что strlen
делает
, поэтому урок на сегодняшний день
count == длина массива
strlen == длина строки
Ответ 6
count получает количество элементов в массиве, srtlen получает длину строки. Это находится в документах:
Ответ 7
count больше предпочитает пользователя для подсчета числа массивов strlen его счетчик только нет char в str.....