我正在尝试从数据库中获取一些特定的键和值。我的数据库条目如下所示:
id | name | description | value
------------------------------------------
1 | lang | default language | en
2 | date | date format | YYYY-MM-DD
我只想回显我的 name
和 value
领域。我试过使用嵌套的 foreach 循环,如下所示:
foreach($details as $key => $value)
{
foreach($value as $index => $row)
{
echo $index . " / " . $row . "<br />";
}
echo "<br />";
}
但这只是 echo :
id / 1
name / lang
description / default language
value / en
id / 2
name / date
description / date format
value / YYYY-MM-DD
但是,当我添加偏移量时,如下所示:$index[1]
,我得到这样的 a
而不是名称,或 e
而不是 description
.
我之前曾在 while
工作过使用 mysql_fetch_array
循环, 但这会给我一个重复的元素(比如 <tr>
),而我只需要提取字段的值,因为这将用于构建供用户管理的表单。
有没有人对我做这样的事情有建议或不同的方法?
编辑
查询来自类文件:
// extracted from my queries.class.php
public function my_prefs()
{
global $db;
$query = "SELECT * FROM preferences WHERE value!=NULL";
return $db->select($query);
}
// extracted from the source file
$module_details = $query->my_prefs();
编辑#2
也许这会帮助您了解我的需求:
foreach($module_details as $key => $value)
{
print_r($module_details);
}
返回:
Array
(
[0] => stdClass Object
(
[id] => 1
[name] => lang
[description] => default language
[value] => en
)
[1] => stdClass Object
(
[id] => 1
[name] => date
[description] => date format
[value] => YYYY-MM-DD
)
}
我只需要访问 lang
/en
和 date
/YYYY-MM-DD
.
最佳答案
听起来您正在寻找这样的东西:
$tmp = array();
foreach($details as $key => $value)
{
// "name" => "value" dictionary later access
$tmp[$value["name"]] = $value["value"];
echo $value["name"] . " = " . $value["name"]; // echos e.q. "date = YYYY-MM-DD"
echo "<br/>";
}
echo $tmp["date"]; // echos e.q. "YYYY-MM-DD"
关于php - 从数据库中获取特定的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18745159/