Как вы можете найти длину строки в php без использования strlen() ? 
Я знаю, что это довольно старая проблема, но эта часть кода работала для меня.
 $s = 'string'; $i=0; while ($s[$i] != '') { $i++; } print $i; 
  $inputstring="abcd"; $tmp = ''; $i = 0; while (isset($inputstring[$i])){ $tmp .= $inputstring[$i]; $i++; } echo $i; //final string count echo $tmp; // Read string 
  while – Итерировать строковый символ 1 на 1 
  $i – дает окончательное количество строк. 
  isset($inputstring[$i]) – проверка символа существует (null) или нет. 
Давайте будем глупы
 function stupidCheck($string) { $count = 0; for($i=0; $i<66000; $i++) { if(@$string[$i] != "")$count++; else break; } return $count; } 
  Я предполагаю, что mb_strlen() функция mb_strlen() . 
  Это не strlen() , но он выполняет ту же работу (с добавленным бонусом к работе с расширенными наборами символов). 
  Если вы действительно хотите держаться подальше от всего, что связано с strlen() , я думаю, вы могли бы сделать что-то вроде этого: 
 $length = count(str_split($string)); 
Я уверен, что есть много других способов сделать это. Реальный вопрос … ну, почему?
Ответ, данный Вайбхавом Джаином, выдает следующее уведомление по последнему индексу.
Примечание. Неинициализированное смещение строки
Я хотел бы дать альтернативу для этого:
 <?php $str = 'India'; $i = 0; while(@$str[$i]) { $i++; } echo 'Length of ' . $str . ' is ' . $i . '.'; 
  mb_strlen – Получить длину строки 
  $string ='test strlen check'; print 'mb_strlen(): ' . mb_strlen( $string, 'utf8' ) . "\n\n"; 
  synatx: int mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] ) 
str – Строка проверяется на длину.
encoding – параметр кодирования – это кодировка символов. Если он опущен, будет использоваться значение внутреннего кодирования символов.
Вы также можете обманывать что-то вроде:
 print strtok(substr(serialize($string), 2), ":"); 
Или это довольно забавно:
 print array_sum(count_chars($string)); 
 function mystrlen($str) { $i = 0; while ($str != '') { $str = substr($str, 1); $i++; } return $i; } 
Это будет тяжелая работа для вашего сервера, но способ справиться с этим.
function($string){ $c=0; while(true){ if(!empty($string[$c])){ $c=$c+1; } else { break; // Prevent errors with return. } } return $c; }вfunction($string){ $c=0; while(true){ if(!empty($string[$c])){ $c=$c+1; } else { break; // Prevent errors with return. } } return $c; }
 $str = "STRING"; $i=0; $count = 0; while((isset($str{$i}) && $str{$i} != "")){ $i++; $count++; } print $count; 
 function findStringLength($string) { $length = 0; $lastStringChar1 = '1'; $lastStringChar2 = '2'; $string1 = $string . $lastStringChar1; $string2 = $string . $lastStringChar2; while ($string1[$length] != $lastStringChar1 || $string2[$length] != $lastStringChar2) { $length++; } return $length; } 
Вы можете использовать этот код для нахождения длины строки без использования функции strlen ().
 <?php function stringlength($withoutstringlength) { $n = 0; while(substr($withoutstringlength, $n, $n+1) != '')//General syntax substr(string,start,length) { $n++; } echo $n; } stringlength("i am a php dev"); ?> 
Попробуй это:
function length($value){ if(empty($value[1])) return 1; $n = 0; while(!empty($value[$n+1])){ $n++; } return $n+1; }вfunction length($value){ if(empty($value[1])) return 1; $n = 0; while(!empty($value[$n+1])){ $n++; } return $n+1; }
Это также может помочь –
 $s = 'string'; $temp = str_split($s); // Convert a string to an array by each character // if don't want the spaces $temp = array_filter($temp); // remove empty values echo count($temp); // count the number of element in array 
Вывод
 6 
Это не использует циклы, но может столкнуться с проблемой O (n), если strrpos использует strlen внутренне.
 function length($str) { return strrpos($str.'_', '_', -1); } 
 function my_strlen($str) { for($i=-1; isset($str[++$i]); ); return $i; } echo my_strlen("q");