2016-09-24 4 views
0
<?php 
$arr = []; 
$highNum = null; 
$longest = null; 

foreach ($_SERVER as $key => $value) { 
    $num = strlen($value); 
    $arr = nl2br("$key: $num\n"); 
    echo $arr; 
    if ($num > $highNum) { 
     $highNum = $num; 
     $longest = $key; 
    } 
} 
?> 

<p>The longest entry is: <?= htmlentities($_SERVER[$longest]); ?></p> 
<p>And its value is: <?= print(strval($highNum)); ?></p> 

코드를 실행하면 가장 긴 항목이 인쇄되지만 값을 인쇄 할 때 예를 들어 값이 746이고 7461이됩니다. 이젠 꽤 오래되었습니다. 그리고 나는 결국 그 하나를 제거하는 것처럼 보이지 않습니다. 값에서 1을 제거하면 나는 7451을 얻습니다.배열에서 잘못된 값을 출력하십시오

답변

4

쓰기이 : 이미 echo을하고있는 때문에

<p>And its value is: <?= strval($highNum); ?></p> 

다시 print를 사용할 필요가 없습니다.

참고 : print도 인쇄가 성공하면 1을 반환합니다.

+0

오케이, 여전히 상당히 새로운 것입니다. 도와 줘서 정말 고마워! – Makaronen

+0

@Makaronen 그건 괜찮습니다. 문제 없어. 내가 도울 수있어서 기뻐! –

관련 문제