2016-09-24 5 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が返されます。すでにechoをやっているので、あなたは再びprintを使用する必要はありません配列の間違った値を出力する

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

答えて

4

はこれを書きます。

注:printも、印刷が成功すると1を返します。

+0

ああ、まだかなり新しいです。助けてくれてありがとう! – Makaronen

+0

@Makaronenそれはまあまあです。問題ない。私は助けることができてうれしい! –