<?php

// Variable keys
foo( $arr[ $test ] ); // Bad
bar( $arr[ $test ] ); // Bad
foo( $arr[ $test ] ); // Bad
bar( $arr[ $test ] ); // Good

// The opposite with strings
foo( $arr['test'] ); // Good
bar( $arr['test'] ); // Bad
foo( $arr['test'] ); // Bad
bar( $arr['test'] ); // Bad

// Nested ones
foo( $arr[ $test[ $taz ] ] ); // Bad
bar( $arr[ $test['taz'] ] ); // Bad
foo( $arr[ $test['taz'] ] ); // Bad
bar( $arr[ $test['taz'] ] ); // Good

// Mixed key
foo( $arr[ 'string' . $var ] ); // Good, should have spaces
bar( $arr[ 'string'.$var ] ); // Bad

// Non-string/int
$arr[ FooClass::FOO_KEY ]; // Bad

$arr[0]; // Good
$arr[0]; // Bad
$arr[-1]; // Good
$arr[-1]; // Bad
