phanalist

E0036: Array Index Out of Bounds

E0036 reports array indexes that can be out of bounds. It is the array-index member of Phanalist’s bounded formal verification family (E0031-E0043). The family shares a Z3-backed engine that encodes path conditions and values, so a finding comes with a solver-backed counterexample rather than a heuristic guess.

What it checks

Model limits

E0036 shares the model limits, loop bounds, and interprocedural behavior described in E0031. It does not assume arbitrary relationships between two lists, such as a key from one list being valid for another. It only uses the length relationships produced by the modeled built-ins and by explicit guards or assertions.

Configuration

rules:
  E0036:
    php_version: "8.4"
    check_array_index: true

See E0031 for the shared model limits, unknown_policy behavior, and per-code configuration.