我有一个只有48的page.html。我无法得到这个if语句。
<?php
$myFile = 'http://site.com/page.html';
$content = file_get_contents($myFile);
?>
<?php $num = "48"; ?>
<?php if ($content == $num): ?>
true
<?php else: ?>
false
<?php endif; ?>
如果我这样做就行了。
<?php if ($content == 48): ?>
true
<?php else: ?>
false
<?php endif; ?>
如何更改此功能以使其正常工作?
答案 0 :(得分:2)
$content
的值很可能包含"48\n"
,即数字48后跟一个新行(或类似的东西)。这与int 48
相同(非严格比较),但不与字符串"48"
相同。
解决这个问题的方法是在进行比较之前将$content
强制转换为int:
$content = (int) file_get_contents($myFile);
答案 1 :(得分:1)
认为这应该有效:
<?php
$myFile = 'http://site.com/page.html';
$content = file_get_contents($myFile);
?>
<?php $num = "48"; ?>
<?php if (trim($content) == $num): ?>
true
<?php else: ?>
false
<?php endif; ?>
..使用删除这些字符的trim():
答案 2 :(得分:0)
您正在评估第一个代码段中的字符串是否为第二个字节中的整数。如果这是他们所追求的数据类型,请确保将其转换为整数。
$content = (int) file_get_contents($myFile);