php - 在 PHP 中动态生成数组的适当引用

标签 php mysql arrays

我正在尝试 - PHP 新手。我看了但无法弄清楚 - 我可能没有足够的词汇来适当搜索......

我尝试创建一个可以使用的动态变量数组,而不是像心脏病学、皮肤病学等硬编码主题。我打算将它们放入数组中,但我遇到的问题是如何正确解析名称。

示例:

$cardsstatsstddevall =  $topicassocstring.['StandardDeviation'];

我想动态生成 $topicassocstring.['StandardDeviation']。

尝试了一些不同的事情:

$TopicFull='Cardiology';
$TopicShort='cards';
$topicassocstring =  '$'."{$TopicShort}".'statsassoc';
$topicassoc = $topicassocstring;
$topicstddev =  "{$topicassoc}"."['StandardDeviation']";

代码块:

$cardsstats =  mysqli_query($con, "SELECT STDDEV_SAMP({$TopicFull}Percent) AS StandardDeviation, VARIANCE({$TopicFull}Percent) As Variance, AVG({$TopicFull}Percent) As Average FROM residentpagers WHERE {$TopicFull}Percent != 0 AND PGY !=99;");
$cardsstatsassoc = mysqli_fetch_assoc($cardsstats);
$cardsstatsstddevall =  $cardsstatsassoc['Standard Deviation'];
$cardsstatsvarianceall = $cardsstatsassoc['Variance'];
$cardsstatsaverageall = $cardsstatsassoc['Average'];

我做错了什么?

最佳答案

您似乎在示例中混合/混淆了一些不同的概念:

#1 - 关联数组键只是字符串,引用支持表达式:

$fruitValues = ['apple' => 123, 'banana' => 456, 'orange' => 789];

$fruit = 'apple';

$fruitValues[$fruit]; // int(123) - same as $fruitValues['apple']

这里,$fruit 保存字符串 "apple",它用作数组键($fruitValues[$fruit] 是与 $fruitValues["apple"] 相同)。

#2 - 变量名称可以是动态的(有时称为变量):

$apple = 123;

$fruit = 'apple';

$$fruit; // int(123) - same as $apple

这里,$fruit 变量保存字符串 "apple",它用作变量的名称 ($$fruit${"apple"} 相同 与 $apple 相同)。

#3 - 变量名称支持表达式:

$apple = 123;

$foo = 'ap';
$bar = 'ple';

${$foo . $bar}; // int(123) - same as $apple

这里,$foo$bar 中的字符串连接成字符串 "apple",然后将其用作变量的名称(${$foo . $bar}${"ap". "ple"} 相同与 ${ "apple"}$apple 相同)。

关于php - 在 PHP 中动态生成数组的适当引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21766636/

相关文章:

php - 从php数组中删除行

php - 400 {"name":"MALFORMED_REQUEST_ERROR","message":"Json request malformed

php - Xdebug 分析显示的执行时间与实际执行时间不同

php - 使用 PHP 从 MySQL 数据生成 Highcharts 不起作用

php - 查询未按顺序返回

php - 获取数组中的字符数?

PHP 插入不起作用

php - 只更新数据库中的一个表

php和mysql的问题

在 C 中创建可变大小的 char 数组