# assert_options

(PHP 4, PHP 5, PHP 7)

assert_options — Set/get the various assert flags

### Description

assert_options ( int `$what` [, mixed `$value` ] ) : mixed

Set the various assert() control options or just query their current settings.

> Note: As of PHP 7.0.0, the use of assert_options() is discouraged in favor of setting and getting the php.ini directives zend.assertions and assert.exception with ini_set() and ini_get(), respectively.

### Parameters

`what`

  Assert Options
  Option | INI Setting | Default value | Description
  --- | --- | --- | ---
  ASSERT_ACTIVE | assert.active | 1 | enable assert() evaluation
  ASSERT_WARNING | assert.warning | 1 | issue a PHP warning for each failed assertion
  ASSERT_BAIL | assert.bail | 0 | terminate execution on failed assertions
  ASSERT_QUIET_EVAL | assert.quiet_eval | 0 | disable error_reporting during assertion expression evaluation
  ASSERT_CALLBACK | assert.callback | (`NULL`) | Callback to call on failed assertions

`value`

  An optional new value for the option.

  The callback function set via `ASSERT_CALLBACK` or assert.callback should have the following signature:

  assert_callback ( string `$file` , int `$line` , string `$assertion` [, string `$description` ] ) : void
  `file`
    The file where assert() has been called.
  `line`
    The line where assert() has been called.
  `assertion`
    The assertion that has been passed to assert(), converted to a string.
  `description`
    The description that has been passed to assert().

Passing an empty string as `value` resets the assert callback.

### Return Values

Returns the original setting of any option or `FALSE` on errors.

### Examples

Example #1 assert_options() example

`<?php
// This is our function to handle
// assert failures
function assert_failure($file, $line, $assertion, $message)
{
echo "The assertion $assertion in $file on line $line has failed: $message";
}
// This is our test function
function test_assert($parameter)
{
assert(is_bool($parameter));
}
// Set our assert options
assert_options(ASSERT_ACTIVE, true);
assert_options(ASSERT_BAIL, true);
assert_options(ASSERT_WARNING, false);
assert_options(ASSERT_CALLBACK, 'assert_failure');
// Make an assert that would fail
test_assert(1);
// This is never reached due to ASSERT_BAIL
// being true
echo 'Never reached';
?>`

### See Also

- assert() - Checks if assertion is FALSE