Turns out this question should be moved to Data Science or similar. The problem was the web scrape. Hidden HTML tags were breaking the indices. Since the array is built in so many places, from so many sources it's easiest, (not optimal) to fix it in situ ...
$a = is_string($a) ? trim(strip_tags($a)):$a;
$b = is_string($b) ? trim(strip_tags($b)):$b;
$c = is_string($c) ? trim(strip_tags($c)):$c;
//Associative indices now working as expected