function.phpで複数のキーと要素をjson形式に格納する方法 + おまけ

function tell_me() {
    $ID_BOX = array(
        0 => "10",
        1 => "12",
        2 => "14",
        3 => "16"
    );          //記事のID
    $json1_box = [];
    for($i = 0; $i < count($ID_BOX) ; $i++){
        $id = $ID_BOX[$i];
        $a0= get_the_title($id);
        $a1= get_post_meta($id,"a",true);
        $a2= get_post_meta($id,"b",true);
        $a3= get_post_meta($id,"c",true);
        $a4= get_post_meta($id,"lat",true);
        $a5= get_post_meta($id,"lng",true);
    $json1 = ['name'=> $a0,'min'=>$a1,'free'=>$a2,'call'=>$a3,'lat'=>$a4,'lng'=>$a5];  
//記事の情報をまとめて1つの要素にする、その際にキーを付けてあげる('name'など)
        $json1_box[$i] = $json1;             
//上でまとめた要素にキー[$i]を振り、jsonエンコードに対応した形式にする
    }
    echo json_encode($json1_box, JSON_UNESCAPED_UNICODE);
    header("Access-Control-Allow-Origin: *");
    die();
}

このようにすれば、カスタムフィールドの複数の値をjson形式にして、データの数だけブラウザ側に渡すことができる。

おまけ

タイトルとまったく違う内容ですが、、、 上記で持ってきた複数のデータを地図上に表示するために、ブラウザ側で

var info = data[i].name +
        "<br>30分の料金は"+ data[i].min +"円です" +
        "<br>フリータイムの料金は"+ data[i].free +"円です" +
        "<br>電話番号は"+ data[i].call +"です" 
        dispInfo(markers[i],info);  //これはfor文の中の処理です。
function dispInfo(marker,info) {
    google.maps.event.addListener(marker, 'click',
    function(event) {
      new google.maps.InfoWindow
      ({content:info}).open(marker.getMap(), marker);
    });
  }

のようにして、情報をinfoという変数に格納するとうまくいった。