2016-12-31 2 views

답변

2

는 0에서 12

없다 어떤 경우에만 알파 문자와 공백이 있기 때문에, ''으로 같아지는 오프셋 (offset)에, 13 오프셋 (offset)가있다.

따라서 while 루프는 멈추고 정의되지 않은 13 번째 오프셋에 도달합니다.

실제로 공간에 도달하려고 했습니까? 이 경우, strlen없이 문자열의 길이를 계산하기 ' '

편집

$name[$i]을 테스트하기 위해 노력하지만, 적어도 하나 개의 변수 처리 기능이 isset 전화로, 내가 이런 짓을 했을까 :

사실
$name = "Mohammad Umar"; 

$i = -1; 
while (isset($name[++$i])); 

echo $i; 
+0

나는 w 개미는 라이브러리 함수없이 문자열의 길이를 계산하므로 stackoverflow를 통해 그 스크립트를 찾았고 스크립트를 발견했습니다. 그래서 $ name [$ i]! = '' "??? ...의 상태에서 실제 의미가 무엇인지 말해 줄 수 있습니까? 더 나은 접근 방법이 있다면 저를 도우십시오. 오프셋에 대해서도 설명하십시오. . 감사합니다. –

+0

음, offset은 문자열의 인덱스입니다. 예제에서는 0에서 12까지입니다. 그렇다면 라이브러리 함수없이 길이를 계산하고자하는 요점을 실제로 볼 수는 없습니다 ... Personnaly, 저는 적어도'isset'라는 이름의 스크립트를 사용합니다. 편집 된 대답 –

0

이 시도 ,

$name = "Mohammad Umar"; 
$name_length=strlen($name); 
$i = 0; 

for($i=0;$i<$name_length;$i++) 
{ 
    if($name[$i] == '') 
    { 
    echo $i; 
    } 
} 
+0

스크립트에 대한 출력이 없습니다. –

관련 문제