【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} と書くことで、変数名に変数の値を代入できる。
参考: