结合使用字符串和变量在回显中使用

时间:2018-06-21 18:16:06

标签: php mysqli

要成功创建结合字符串和其他变量的变量,我有些问题。问题是当我回显一个变量时,我得到一个数字(1..4),我需要将该数字添加到字符串“ odpoved”中,因此组合变量看起来像这样的“ odpoved1”。我不确定我是否在创建该变量或从数据库调用它的回显结果时遇到问题。这是我的代码

<?php  $spr=$result['odpoved']; $spravne=['odpoved'.$spr]; echo $spravne;?>

当我调用变量$ spravne时,结果只是“数组”,但我需要它来显示数据库在“ odpoved1”,“ odpoved2”,“ odpoved3”,“ odpoved4”列下的结果 有人可以帮我吗? 谢谢

3 个答案:

答案 0 :(得分:1)

我认为您只是缺少变量的名称,所以...

$spravne=['odpoved'.$spr]; 

实际上正在创建一个值为'odpoved'.$spr的数组-可能为'odpoved1'。你可能想要...

$spravne = $result['odpoved'.$spr]; 

这是从结果集中获取元素。

答案 1 :(得分:0)

如果$ result ['odpoved']是字符串或数字,则此方法有效。

<?php  $spr=$result['odpoved']; $spravne='odpoved'.$spr; echo $spravne;?>

还可以查看有关php中不同引号的这些信息。

What is the difference between single-quoted and double-quoted strings in PHP?

答案 2 :(得分:0)

要打印数组变量的内容,请使用var_dumpprint_r,它们仅适用于调试目的。.

但是您的方法似乎有点不整洁,很快就难以管理。

您似乎对数据库的设计有误,就好像将数据保留在单行中一​​样,并且有很多列带有答案。
而是使用四个基本列将表更改为question_idquestionnaire_idanswer_id(已分配),question_text。 这样,您将能够打印调查表,并根据提交的数据为给定的调查表(dotaznik)选择所有答案(已加注)。 最后,每个问题都有其自己的question_id和答案值。两者都可以通过PHP以您想要的任何方式轻松处理(显示给用户,以表格形式显示等)。
而且,一旦您决定扩展问题/答案的数量,就不必扩展表中的列数,即无需增加新列,例如odpoved5,odpoved6等。