我正在使用foreach语句从SQL表提取数据,并正在使用数组循环遍历我需要的每条数据。以前,我只是将提取数据的变量设置为等于数组ID。现在,我想将一个字符串连接到数组ID名称,但是不确定如何完成此操作。
基本上,我只想在每个变量名中添加“ _type”,这样它就不再命名为$ Banana而是§Banana_type。
我尝试将$$ val更改为$$ val。 '_类型'。但是,这没有用。我很确定我只需要以某种方式连接'_type',如果有人可以帮助我,我将不胜感激。
$variablesArray = array(
"Apple",
"Banana",
);
foreach($variablesArray as $val) {
$query = "SELECT * FROM {$tableName} WHERE ID = '{$CI_NOYEARS}'";
$result = mysqli_query($conn, $query) or die('error');
while($data = mysqli_fetch_array($result)) {
$$val = $data["COINFO"];
}
}
答案 0 :(得分:0)
如果您确实确实需要变量变量,则可以连接变量名称并将其存储在另一个变量中,如下所示:
$varName = 'foo'.'1';
$$varName = 1; // $foo1 = 1;
或者您可以在没有变量之间进行串联:
$var = 'v';
echo ${$var.'ar'}; // echoes 'v'
但是您可以看到它变得多么可笑。使用变量变量是一个糟糕的设计选择,并且还会使您的IDE智能感知,静态分析器等混淆。请不要使用变量变量。更好的选择是数组:
$myVars = [];
$myVars['foo'] = 'bar';