Есть ли функция, которая делает:
$array['blue']='Color';
Кому:
$array['Color']='blue'
А также, есть ли ограничение на то, какие символы могут входить в индекс массива?
array_flip () обменивает все ключи с соответствующими значениями в массиве. В ключе могут использоваться любые символы, однако имейте в виду, что ключи должны быть уникальными, поэтому:
$array['blue'] = 'Color'; $array['red'] = 'Color'; $array = array_flip($array);
Доходность только:
Array ( [Color] => red )
Что касается типа символов, которые можно использовать в качестве ключа, то здесь нет ограничений (допускаются акценты, кавычки и другие символы).
Что касается ограничения по размеру, то его тоже нет, единственным ограничением является ограничение памяти скрипта (см. « Какой максимальный размер ключа для массива в PHP? »
Не удалось найти официальную документацию по PHP, в которой упоминается об этом.