Hàm strcmp trả về giá trị không đúng

Mình có đoạn code sau đây:

<?php
$var1="Hello";
$var2="hello";
if (!strcasecmp($var1, $var2))
    echo "$var1 = $var2 in a case-insensitive\n";
if (strcmp($var1, $var2) > 0)
    echo "$var1>$var2\n";
if (strcmp($var1, $var2) == 0)
    echo "$var1=$var2\n";
if (strcmp($var1, $var2) < 0)
    echo "$var1<$var2\n";
?>

Sau khi chạy nó trả về kết quả như sau:

Hello = hello in a case-insensitive Hello

Tuy nhiên đọc tài liệu thì nó nói lẽ ra phải hiển thị như sau mới đúng:

Hello = hello in a case-insensitive
Hello<hello

Ai biết lỗi ở đâu không?

PHP
Hói 10 tháng trước

Nếu bạn sử dụng trình duyệt để hiển thị kết quả thì bạn cần thoát các ký tự đặc biệt HTML. Ở đoạn mã bạn sử dụng các ký tự < cần được chuyển thành &lt;, > chuyển thành &gt;

<?php
$var1="Hello";
$var2="hello";
if (!strcasecmp($var1, $var2))
    echo "$var1 = $var2 in a case-insensitive\n";
if (strcmp($var1, $var2) > 0)
    echo "$var1 &gt; $var2\n";
if (strcmp($var1, $var2) == 0)
    echo "$var1 = $var2\n";
if (strcmp($var1, $var2) < 0)
    echo "$var1 &lt; $var2\n";
?>

Nếu chạy trực tiếp sử dụng terminal (hay console) thì không cần thiết:

Trả lời 10 tháng trước

Viết Trả Lời: