key => value
к операторам, то искать её в списке приоритетов операторов смысла нет. An operator is something that takes one or more values (or expressions, in programming jargon) and yields another value (so that the construction itself becomes an expression).
array() is a language construct used to represent literal arrays, and not a regular function.
А здесь $arr = ['a' => 1]
у операции 'a' => 1 результат 1, который присваивается по адресу $arr['a'].
$arr = [$x = ('a' => 1)];
$x = $y = 5
Здесь у операции $y = 5 результат 5, который присваивается $x.'a' => 1
? Никакого. Поскольку это только часть языковой конструкции array(), представляющей литерал массива.
Во-первых, x у вас выйдет за пределы строки.
Во-вторых, вы удаляете символ в исходной строке и на следующей итерации попадаете не на тот символ.
В-третих, удаляемый символ может быть неуникальным, тогда вы замените не то, что надо.