【发布时间】:2012-04-04 07:55:54
【问题描述】:
<?php
$a = 'abc';
if($a among array('are','abc','xyz','lmn'))
echo 'true';
?>
假设我有上面的代码,如何写语句“if($a between...)”? 谢谢
【问题讨论】:
标签: php
<?php
$a = 'abc';
if($a among array('are','abc','xyz','lmn'))
echo 'true';
?>
假设我有上面的代码,如何写语句“if($a between...)”? 谢谢
【问题讨论】:
标签: php
使用in_array() 函数。
手册说:
除非设置了严格,否则使用松散比较在 haystack 中搜索 needle。
例子:
<?php
$a = 'abc';
if (in_array($a, array('are','abc','xyz','lmn'))) {
echo "Got abc";
}
?>
【讨论】:
像这样:
if (in_array($a, array('are','abc','xyz','lmn')))
{
echo 'True';
}
此外,虽然在您给出的示例中,技术上允许不使用大括号,但我强烈建议您使用它们。如果您稍后回来并在条件为真时添加更多逻辑,您可能会忘记添加大括号,从而破坏您的代码。
【讨论】:
有in_array函数。
if(in_array($a, array('are','abc','xyz','lmn'), true)){
echo 'true';
}
注意:
您应该将第三个参数设置为true 以使用严格比较。
in_array(0, array('are','abc','xyz','lmn')) 将返回 true,这可能与您的预期不同。
【讨论】:
试试这个:
if (in_array($a, array('are','abc','xyz','lmn')))
{
// Code
}
http://php.net/manual/en/function.in-array.php
in_array — 检查一个值是否存在于数组中
bool in_array ( 混合 $needle , array $haystack [, bool $strict = FALSE ]) 使用松散比较在 haystack 中搜索针,除非 已设置严格。
【讨论】: