Я исправил проблему, и она настолько проста и непривлекательна, что я хочу умереть ... Тем более, что я потратил несколько дней на изучение этого!
Оказывается, причина в том, что я помещал json в кавычкикоторый создал двойные кавычки в массиве, нарушая синтаксис.Это сбило меня с толку, потому что я использовал alert как способ отладки реальной вещи, которую я пытался исправить, которая использовала json для помещения переменной php в файл cookie javascript, но вместо ...
$linkSearchCacheJson = json_encode($linkSearchCacheCleared);
echo'
<script>
var cookieVar = '.$linkSearchCacheJson.';
alert(cookieVar);
document.cookie = "linkSearchCache = " + cookieVar;
</script>
';
Я делал ...
echo'
<script>
document.cookie = "linkSearchCache = '.json_encode($linkSearchCacheCleared).'";
</script>
';
Что нарушало синтаксис (опять же), потому что он помещал двойные кавычки в двойные кавычки.
Мораль истории;json_encode заключает переменную в двойные кавычки.