【PHP】変数名に変数の値を代入する
$array = [ 'name01' => 'Taro', 'name02' => 'Hanako', 'name03' => 'Jiro' ];
という配列があって、
$targetName = 'Hanako';
のように、宣言した変数の値 Hanako
とオブジェクトの値がマッチする場合を判定し、
$name02 = true;
という変数を作りたい場合、
<?php $targetName = 'Hanako'; $array = [ 'name01' => 'Taro', 'name02' => 'Hanako', 'name03' => 'Jiro' ]; foreach ($array as $key => $value){ // 変数 key を宣言 // オブジェクトの value が $targetName と同じ場合は true にする if (strpos($targetName,$value) !== false) { ${$key} = true; } else { ${$key} = false; } } // $name01 = false; // $name02 = true; // $name03 = false; ?>
とする。
${$variableName}
と書くことで、変数名に変数の値を代入できる。
参考: