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

问题描述 投票:-1回答:2

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

<?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;";
    }
?>

其中'filename'有一串数字,'form-input'是从之前提交的HTML表单中携带的。

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

编辑简单的修复是修剪$ gen_num。另外,我还没有具体说'filename'是一个.txt文件,其中包含一串数字以及一些看不见的特殊字符。

感谢您的帮助!

php if-statement string-comparison
2个回答
0
投票

如果$_SESSION['filename']就像你说的一串数字那么没有文件名结尾。 你应该这样做:

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

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


0
投票

如果这两个值是整数,我会将它们放在()它们并使用==

赶上0异常

© www.soinside.com 2019 - 2024. All rights reserved.