ArrayObject::setFlags

Sets the behavior flags

&reftitle.description; public `void` `ArrayObject::setFlags` `int` `flags`

Set the flags that change the behavior of the ArrayObject.

&reftitle.parameters;

`flags`

- The new ArrayObject behavior. It takes on either a bitmask, or named constants. Using named constants is strongly encouraged to ensure compatibility for future versions.

  The available behavior flags are listed below. The actual meanings of these flags are described in the predefined constants.

  ## ArrayObject behavior flags

  value | constant
  1 | ArrayObject::STD_PROP_LIST
  2 | ArrayObject::ARRAY_AS_PROPS

&reftitle.returnvalues;

&return.void;

&reftitle.examples;

### `ArrayObject::setFlags` example

    <?php
    // Array of available fruits
    $fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

    $fruitsArrayObject = new ArrayObject($fruits);

    // Try to use array key as property
    var_dump($fruitsArrayObject->lemons);
    // Set the flag so that the array keys can be used as properties of the ArrayObject
    $fruitsArrayObject->setFlags(ArrayObject::ARRAY_AS_PROPS);
    // Try it again
    var_dump($fruitsArrayObject->lemons);
    ?>

&example.outputs;

    NULL
    int(1)