PHP-If语句将字符串与txt文件的内容进行比较

时间:2019-02-27 16:21:27

标签: php if-statement string-comparison

我做了一些研究,但找不到解决我问题的明确答案。这就是我所拥有的:

<?php
    session_start();
    $gen_num = file_get_contents($_SESSION['filename']);
    $inp_num = $_POST['form-input'];
    if($gen_num === $inp_num){
        echo "Yes! The numbers match!";
    } else {
        echo "No, the numbers do not match&hellip;";
    }
?>

“文件名”中包含一串数字,而“表单输入”则来自先前提交的HTML表单。

当字符串相同时,为什么IF测试失败?

编辑 简单的解决方法是修剪$ gen_num。另外,我说“文件名”是一个.txt文件时不够明确,它包含一串数字以及一些看不见的特殊字符。

谢谢您的帮助!

2 个答案:

答案 0 :(得分:0)

如果$_SESSION['filename']就像一串数字,那么文件名就没有结尾。
您应该输入以下行:

$gen_num = file_get_contents($_SESSION['filename'] . ".txt");

或者file_get_contents将找不到仅包含数字作为名称的文件并返回false。
这就是为什么数字不匹配的原因。

答案 1 :(得分:0)

如果两个值都是整数,则将它们设为floor()并使用==

捕获0个异常