我将两个参数传递给assert
PHP 教程网站上所述的函数,并得到错误。这是我的做法:
assert('2 < 1', 'Two is less than one');
为什么会失败?
我将两个参数传递给assert
PHP 教程网站上所述的函数,并得到错误。这是我的做法:
assert('2 < 1', 'Two is less than one');
为什么会失败?
额外的第二个参数被添加到assert
PHP 5.4.8 中的方法中。如果您使用的是旧版本,则只能使用一个参数。
来源: http: //php.net/assert
如果您不在 php 5.4.8 上,您仍然可以通过在第一个 assert 参数中添加注释来获得有意义的消息:
$x = 1; $y = 2;
assert('$x > $y /*x should be greater than y*/');
这给出了输出:
Warning: assert(): Assertion "$x > $y /*x should be greater than y*/" failed in ...
php 5.4.8版本才添加assert描述参数,你用的是什么版本的php?
您应该使用这些选项,这是工作示例:
// Active assert and make it quiet
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 0);
assert_options(ASSERT_QUIET_EVAL, 1);
// Create a handler function
function my_assert_handler($file, $line, $code, $desc = null)
{
echo "Assertion failed at $file:$line: $code";
if ($desc) {
echo ": $desc";
}
echo "\n";
}
// Set up the callback
assert_options(ASSERT_CALLBACK, 'my_assert_handler');
// Make an assertion that should fail
assert('2 < 1');
assert('2 < 1', 'Two is less than one');