php max()関数は間違った結果を出します

BluePrint

phpを使用してファイル内の各行の最大値を見つけようとしています。私の入力は次のようになります。

1x5x10
1x10x5
5x1x10
5x10x1
10x1x5
10x5x1

私のコード:

<?php

$myfile = fopen("day2_input.txt", "r") or die("Unable to open file!");

while(!feof($myfile)) {
    $line = fgets($myfile);

    $lineArr = explode("x", $line);

    echo(max($lineArr)."\n");
}

fclose($myfile);

?>

これが奇妙なことです。入力にあるように、各行の最大値は10ですが、出力は次のとおりです。

5
5

5
10
5

10

最後に空の行を含めます。2つの質問。-max()関数が10以外のものを与えるのはなぜですか?そして、なぜ出力の空の行?入力ファイルの行末にスペースはありません。また、を使用print_r()て配列をチェックしまし$lineArrた。

Array
(
    [0] => 1
    [1] => 5
    [2] => 10

)
Array
(
    [0] => 1
    [1] => 10
    [2] => 5

)
Array
(
    [0] => 5
    [1] => 1
    [2] => 10

)
Array
(
    [0] => 5
    [1] => 10
    [2] => 1

)
Array
(
    [0] => 10
    [1] => 1
    [2] => 5

)
Array
(
    [0] => 10
    [1] => 5
    [2] => 1
)
マークベイカー

あなたの爆発は整数ではなく文字列の配列を作成しています....したがって、maxは文字列比較ロジックを適用し105アルファベット順よりも少なくなります。

文字列要素を整数に変換してから、max()呼び出しを実行します。次のようになります。

$lineArr = array_map('intval', explode("x", $line));

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

phpで間違った結果を返すsubstr関数

分類Dev

PHP json_encodeは、間違ったJSON結果を生成します。どうして?

分類Dev

PHPの `hex2bin`のNode.js / JS実装は、間違った結果を返します。同じ結果を得る方法は?

分類Dev

typoscriptはphp関数を呼び出して結果を出力します

分類Dev

phpでxpathを使用すると、結果の数が間違っています

分類Dev

PHPでsscanfを使用した場合の間違った結果

分類Dev

PHP ajaxAPIが間違った結果を返すことがあります

分類Dev

php current_time()関数が間違った時間を返しました

分類Dev

間違った結果を示すphpのpassword_verify

分類Dev

php&ajaxが間違った結果を返す

分類Dev

PHPで間違った結果を返す日付

分類Dev

PHP:file_existsとclearcachestatは、サーバーを再起動するまで間違った結果を返します

分類Dev

PHP:file_existsとclearcachestatは、サーバーを再起動するまで間違った結果を返します

分類Dev

phpの「日付」関数が間違った時間を返します(約24秒ずれます)。

分類Dev

strtotimeのPHPの間違った結果

分類Dev

間違った値を返すPHP関数

分類Dev

PHP:配列をループすると間違った結果が得られます

分類Dev

MySql LEFT JOINはPHPページで最初に間違った結果を返しますが、MYSQLコマンドラインで正しい結果が得られます

分類Dev

長い数値をフォーマットすると、PHPは誤った結果を返します

分類Dev

PHPのクエリから同じ間違った結果を取得する

分類Dev

PHP time()がサーバーで間違った結果を生成する

分類Dev

Pythonのreplace関数は間違った結果をもたらします

分類Dev

Google SheetsVALUE関数は間違った結果をもたらします

分類Dev

MySQL移動平均は間違った結果を出します

分類Dev

Math.cos()は間違った結果を出します

分類Dev

TOSVersionは間違った結果を出します

分類Dev

Math.powは間違った結果を出します

分類Dev

base64は間違った結果を出します

分類Dev

MySQLクエリは間違った結果を出します

Related 関連記事

  1. 1

    phpで間違った結果を返すsubstr関数

  2. 2

    PHP json_encodeは、間違ったJSON結果を生成します。どうして?

  3. 3

    PHPの `hex2bin`のNode.js / JS実装は、間違った結果を返します。同じ結果を得る方法は?

  4. 4

    typoscriptはphp関数を呼び出して結果を出力します

  5. 5

    phpでxpathを使用すると、結果の数が間違っています

  6. 6

    PHPでsscanfを使用した場合の間違った結果

  7. 7

    PHP ajaxAPIが間違った結果を返すことがあります

  8. 8

    php current_time()関数が間違った時間を返しました

  9. 9

    間違った結果を示すphpのpassword_verify

  10. 10

    php&ajaxが間違った結果を返す

  11. 11

    PHPで間違った結果を返す日付

  12. 12

    PHP:file_existsとclearcachestatは、サーバーを再起動するまで間違った結果を返します

  13. 13

    PHP:file_existsとclearcachestatは、サーバーを再起動するまで間違った結果を返します

  14. 14

    phpの「日付」関数が間違った時間を返します(約24秒ずれます)。

  15. 15

    strtotimeのPHPの間違った結果

  16. 16

    間違った値を返すPHP関数

  17. 17

    PHP:配列をループすると間違った結果が得られます

  18. 18

    MySql LEFT JOINはPHPページで最初に間違った結果を返しますが、MYSQLコマンドラインで正しい結果が得られます

  19. 19

    長い数値をフォーマットすると、PHPは誤った結果を返します

  20. 20

    PHPのクエリから同じ間違った結果を取得する

  21. 21

    PHP time()がサーバーで間違った結果を生成する

  22. 22

    Pythonのreplace関数は間違った結果をもたらします

  23. 23

    Google SheetsVALUE関数は間違った結果をもたらします

  24. 24

    MySQL移動平均は間違った結果を出します

  25. 25

    Math.cos()は間違った結果を出します

  26. 26

    TOSVersionは間違った結果を出します

  27. 27

    Math.powは間違った結果を出します

  28. 28

    base64は間違った結果を出します

  29. 29

    MySQLクエリは間違った結果を出します

ホットタグ

アーカイブ