Give this a go and let me know if it's what you want:
//$arrays = array("foo-1" => array(array("A", 3), array("B", 3)), "foo-2" => array(array("A", 1), array("B", 7)), "foo-3" => array(array("A", 1), array("B", 6)));
$data = file_get_contents("example/data"); // enter your link here
$arrays = json_decode($data, true);
$names = "(";
$letters = "(";
$numbers = "";
$coordinate = "";
foreach($arrays as $arrayName => $array) {
if(array_search($arrayName, array_keys($arrays)) == 0) {
$names .= $arrayName;
}else{
$names .= ",".$arrayName;
}
foreach($array as $key => $nestedArray) {
foreach($nestedArray as $letterOrNum => $value) {
if($letterOrNum == 0) { // it's a letter
if($key + 1 == 1) {
$nextLetter = $array[$key + 1][0];
if (!strpos($letters, $value.','.$nextLetter) !== false) {
if($key == 0 && array_search($arrayName, array_keys($arrays)) == 0) {
$letters .= $value;
}else{
$letters .= ",".$value;
}
}
}else{
$previousLetter = $array[$key - 1][0];
if (!strpos($letters, $previousLetter.','.$value) !== false) {
if($key == 0 && array_search($arrayName, array_keys($arrays)) == 0) {
$letters .= $value;
}else{
$letters .= ",".$value;
}
}
}
}else{ // its a number
if($key == 0) {
$coordinate .= "(".$value.",";
}else{
$coordinate .= $value.")";
}
$numbers .= $coordinate;
$coordinate = "";
}
}
}
}
$names .= ")";
$letters .= ")";
echo $names;
echo $letters;
echo $numbers;
Demo: https://3v4l.org/mMoT6