PHP - почему функция count() не работает как strlen() в строке?

Строка - это массив символов, правильно? Если да, то почему 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 получает длину строки. Это находится в документах:

http://php.net/manual/en/function.strlen.php

Ответ 7

count больше предпочитает пользователя для подсчета числа массивов strlen его счетчик только нет char в str.....