1. Строка в PHP - это НЕ массив, а местами похожий на массив отдельный тип данных.
2. И каким образом count будет высчитывать длину строки в кодировке, например, UTF-8? Для каждой из кодировок ANSII, UTF-8, UTF-16, UTF-32 требуется свой собственный алгоритм вычисления длины строки.
3. Объединять в одной функции по сути разные (хотя и похожие для дилетанта) вещи - это заведомо замедлять работу этой функции (сначала она должны определить, массив перед нами, или строка - и на это тратится время).
PHP
PHP. Почему нельзя применять функцию count() к строкам? Ведь строка это тот же массив
Тимур Хасанов
спасибо за помощь мне, дурачку :)
Артур А
чел, да ты тему сечешь!
используй это: http://php.net/manual/ru/function.mb-strlen.php
Тимур Хасанов
я знаю об этой функции, просто не понимаю почему не работает count, и почему цикл foreach тоже нельзя к строкам применять
С чего ты взял, что строка - это массив? Если ты смущен таким обращениям к строкам:
str[0]
то это просто синтаксис похожий. Разрабы так шутят. Как в JavaScript - массивы вроде бы объекты, а на самом деле ничего общего. Хотя typeof выведет Object
Это первое, а во вторых, с чего ты взял, что нельзя применять. Возьми да примени. Результат будет не совсем ожидаемый... ну так и нехер применять. Примени count еще и к числам, булевым типам, null
str[0]
то это просто синтаксис похожий. Разрабы так шутят. Как в JavaScript - массивы вроде бы объекты, а на самом деле ничего общего. Хотя typeof выведет Object
Это первое, а во вторых, с чего ты взял, что нельзя применять. Возьми да примени. Результат будет не совсем ожидаемый... ну так и нехер применять. Примени count еще и к числам, булевым типам, null
Володя Антонов
"С чего ты взял, что строка - это массив? Если ты смущен таким обращениям к строкам:
str[0]
то это просто синтаксис похожий. Разрабы так шутят. "
Rollzed, скажи мне по секрету - У тебя действительно всё настолько плохо с головой или ты просто троллишь?
str[0]
то это просто синтаксис похожий. Разрабы так шутят. "
Rollzed, скажи мне по секрету - У тебя действительно всё настолько плохо с головой или ты просто троллишь?
А разве count() применяется к массивам? :)
Запусти следующий код и посмотри, сколько занимает памяти "массив" с десятью интами.
$m = memory_get_usage();
$ht = range(1,10);
echo memory_get_usage() - $m;
echo ' bytes';
Запусти следующий код и посмотри, сколько занимает памяти "массив" с десятью интами.
$m = memory_get_usage();
$ht = range(1,10);
echo memory_get_usage() - $m;
echo ' bytes';
Ярослав Панин
Ты дебил? И где тут count в коде? Тут range. Или вы все совсем обкурились? И при чем тут memory_get_usage?
Масив - это набор переменных (строк). Строка, она одна))
Светозар Приходько
В си строка — это массив байтов.
Для строк strlen и mb_strlen
Похожие вопросы
- PHP MYSQL после ввода запроса , отображается пустая строка перед 1 кой, немогу понять Помогите пожалуйста
- Здравствуйте, каким методом лучше проверять на PHP правильность открывающихся и закрывающихся скобок в строке?
- Помогите с php кодом, плиз) хотел функцию транслитерации написать, только ошибка выходит и все :(
- Передача json строки php to js
- Как вывести каждую строку из определённого столбца MySQL?
- Изучаю php. В книжке дан код программы, объясните для чего строка? (код внутри)
- Есть тут гуру PHP которые знают толк в переборах массивов? (вопрос внутри)
- Для чего нужны функции pack () и unpack () в PHP ?
- Откуда при выводе строк из БД появляются дубликаты? Строки два раза выводятся + скрин
- Php + Sql. Если значение массива == 'значение' , делать действие с предыдущими элементами