1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-27 04:45:20 +01:00
psalm/docs/running_psalm/issues/PossiblyUndefinedArrayOffset.md
2020-03-21 09:24:41 -04:00

590 B
Raw Blame History

PossiblyUndefinedArrayOffset

Emitted when trying to access a possibly undefined array offset

<?php

if (rand(0, 1)) {
    $arr = ["a" => 1, "b" => 2];
} else {
    $arr = ["a" => 3];
}

echo $arr["b"];

How to fix

You can use the null coalesce operator to provide a default value in the event the array offset doesnt exist:

<?php

...

echo $arr["b"] ?? 0;

Alternatively, you can ensure that the array offset always exists:

<?php

if (rand(0, 1)) {
    $arr = ["a" => 1, "b" => 2];
} else {
    $arr = ["a" => 3, "b" => 0];
}

echo $arr["b"];