2014-06-13 75 views
0

我正在苦苦挣扎一点棘手的PHP数组。我试图从数据库中检索数据(单行),我想将这些数据插入页面(PHP)中的一些动态生成的字段中。输出字段名称和值作为变量的PHP数组

我的DB的组织结构如下

____________________________ 
| cats | dogs | birds | cows | 
_____________________________ 
| 30 | 40 | 22 | 34 | 
______________________________ 

我想建立一个这样的数组:

array(
     $cats => $cats_value 
     $dogs => $dogs_value 
     etc... 
     ) 

重要:我要阵列输出中的变量,其中,上面示例$ cats输出“cats”,$ cats_value输出“30”。我猜一旦这样做,我可以直接使用变量名称,所以我不会坚持试图将它们拉出阵列...

我试图把各种代码位,但失败了(即没有任何表现/令自己在这里难堪。)

任何帮助将不胜感激。

+1

当你从数据库中得到这个信息,并让任何你使用的驱动程序将它作为一个关联数组进行水合时,你已经拥有了它'array('cats'=> 30,'dogs'=> 40 ,...)' – marekful

+0

您正在寻找'foreach()'构造。 [PHP.net](http://us3.php.net/manual/en/control-structures.foreach.php) – TecBrat

+0

MarcellFülöp说了什么,然后我说的是真实的答案。 – TecBrat

回答

0

OK,提供答案的代码如下:

$query = "SELECT * FROM animals"; 
$result = mysqli_query($dbc, $query); 
$data_array = array(); 
$row = mysqli_fetch_assoc($result); 
print_r($row); 

foreach($row as $key=>$value){ echo $key; echo $value; 

${$key}=$key; 
${$key."_value"}=$value; 

} 

echo "<br><br><br>"; 

echo $Cats." = ".$Cats_value."<br>"; 
echo $Dogs." = ".$Dogs_value."<br>"; 
echo ${"Cows"}." = ".$Cows_value."<br>"; 
echo ${"Birds"}." = ".$Birds_value."<br>"; 

我感谢所有帮助我找到答案,这答案。顺便说一句,我这样做的全部原因是因为我需要用一堆变量填充动态生成的PHP页面,并且我可能还需要动态填充这些变量。

如果你认为我正在接近这个问题的方式是错误的,那么请让我知道(即将关联数组转换为一堆$变量是否愚蠢?这是否合理,和/或它真的很慢)

相关问题