Il tuo dubbio è del tutto infondato. Non c'è nessuna controindicazione a fare quello che stai facendo.
Se non funziona c'è qualcos'altro che non va.
Dove la fai la visualizzazione a video? Falla dopo l'assegnazione all'array. E stampa a video anche ciò che hai assegnato all'array...
Codice PHP:
$chart [ 'chart_data' ][ 1 ][ 4 ] = $val4;
echo '$val4 = ' . $val4, '
', '$chart = ' . $chart [ 'chart_data' ][ 1 ][ 4 ], '
', gettype($val4);