変数変数を少し間違って使用しています。代わりにこれを試してください:
$radiovalue = $field_radio['radiovalue'];
echo "Radio value: ".$radiovalue."</br>";
$masking_x = "field_masking['checkbox_1001_".$radiovalue."']";
$masking_y = "field_masking['checkbox_1001_2']";
echo "Masking_x: ".$$masking_x."</br>";
echo "Masking_y: ".$$masking_y."</br>";
二重のドル記号は、文字列ではなく、コードに含まれている必要があります。
これを行うことも可能です:
$radiovalue = $field_radio['radiovalue'];
echo "Radio value: ".$radiovalue."</br>";
echo "Masking_x: ".${"field_masking['checkbox_1001_".$radiovalue."']"}."</br>";
echo "Masking_y: ".${"field_masking['checkbox_1001_2']"}."</br>";
また、配列キーに使用される文字列を適切に引用するために、文字列に一重引用符を追加したことにも注意してください。連想配列キーは通常の文字列であり、そのまま引用する必要があります。
ただし、可変変数が特定の問題の正しい解決策になることはめったにないことに注意することが重要です。通常、代わりに配列または参照を使用して、より良いものを考え出すことができます。
編集
それをいじってみると、キー定義が文字列にある場合、可変変数を使用して配列キーを参照することはできないようです。これは非常に恐ろしいことです。この制限に一度も遭遇したことがないことに驚きはありません。
要するに、やろうとしていることを正確に行うことができないということです。おそらく、代わりに参照を使用するのが最善の解決策です。
$radiovalue = $field_radio['radiovalue'];
echo "Radio value: ".$radiovalue."</br>";
$masking = &$field_masking['checkbox_1001_'.$radiovalue];
echo "Masking: ".$masking."</br>";
$masking = "A different value";
echo "Masking: ".$masking."</br>";
// Original value has been updated as well
echo "\$field_masking['checkbox_1001_'.\$radiovalue]: ".$field_masking['checkbox_1001_'.$radiovalue]."</br>";