【发布时间】:2014-04-22 13:23:18
【问题描述】:
我有两个 PHP 变量,它们可以是空的(即value=""),也可以包含格式为 Last, First 的名称,并在姓氏和名字之间有一个空格(例如 Mouse、Mickey)。
我想在这里做一个简单的检查,如果一个变量不为空并且等于另一个,然后检查一个复选框,但这不起作用。 有人可以告诉我我做错了什么吗(在下面的示例中,应选中复选框)?
我的问题是复选框总是被选中,即使变量不匹配。
示例:
$poc1 = "Mouse, Mickey"; // hard-coded for testing
$poc2 = "Mouse, Mickey"; // hard-coded for testing
<input type="checkbox" id="check2" name="Copy_POC" <?php if(($poc2 != "") && (strcmp($poc2,$poc1))) { echo "checked"; } ?> />
非常感谢您提供的任何帮助,蒂姆。
【问题讨论】:
-
你得到什么错误?
-
刚刚在上面更新了这个。没有错误,它只是一直检查它。
-
php.net/in_array - 如果它太复杂:将它包装在它自己的函数中。然后,您可以修复该函数,并且所有调用该函数的代码都会自动正常工作:)
-
谢谢。 strcmp 怎么样,因为我只想比较两个变量,而不是更多?
-
@user2571510:首先将其包装在一个函数中。然后测试所有你需要测试的东西。显示您的问题有多远,以及您对该代码/逻辑的确切问题点。到目前为止,一般答案是:按照您喜欢的方式比较字符串进行字符串比较 - PHP 有许多字符串和比较函数。
标签: php variables compare strcmp