【问题标题】:IF with string read by FGETCSVIF 与 FGETCSV 读取的字符串
【发布时间】:2016-08-11 06:53:02
【问题描述】:

我在使用带有通过 fgetcsv 命令从文件读取的字符串的 IF 语句时遇到问题。 该文件以 Country(不带引号)在第一个位置开始,因此我在代码的开头放置了一个 IF 语句以验证文件是否正确。 IF 语句是:

if ($data[0]=="Country") {
…
} else { 
print $data[0] 
}

IF 语句失败,但是...在屏幕上我看到了 Country 这个词。 这意味着 fgetcsv 运行良好,但字符串比较存在问题。 谁能告诉我为什么 IF 语句失败?

提前感谢您的帮助

乔治

【问题讨论】:

  • 检查它是否真的只显示字符Country,或者它显示的内容中是否有任何空白字符(空格、制表符等)......使用var_dump($data[0]);而不是@987654324 @
  • 我尝试在 $data[0] 前后加上引号:没有空格。我也尝试使用 htmlentities 来验证是否存在 HTML 特殊字符,但似乎 $data[0] 只包含单词 Country
  • 你使用得当;对于您的代码,例如您留在 else stmt 中的代码
  • 按照我的建议尝试使用 var_dump(),然后向我们展示它的输出
  • 所以是10个字符的字符串; Country 只有 7 个字符,所以字符串中有 3 个不可见(空白)字符....尝试做 if (trim($data[0])=="Country")

标签: php string if-statement fgetcsv


【解决方案1】:

尝试像这样比较:

if (strtolower(trim($data[0])) == 'country') {
  echo 'found';
} else { 
  print $data[0] 
}

【讨论】:

    猜你喜欢
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    • 2021-02-25
    • 2015-10-29
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多