我想创建 3 个不同的数组,这些数组可以根据从某些 mysql 表中提取的字段而改变。
这是我的代码:
// Gather db rows with query
$compQuery['subCats'] = mysql_query("SELECT id,name,category FROM subcategories ORDER BY id DESC");
$compQuery['cats'] = mysql_query("SELECT id,name FROM categories ORDER BY id DESC");
$compQuery['mans'] = mysql_query("SELECT id,name,link FROM manufacturers ORDER BY id DESC");
// Place rows into arrays
foreach($compQuery as $name=>$query){
$name = array();
while($data = mysql_fetch_array($compQuery[$name])){
foreach($data as $key=>$value){
$$name[$key] = $value;
}
}
}
我希望这会产生 3 个数组:subCats、cats 和 mans,每个数组都有值对。它不是找到 $$name 变量并将 [$key] = $value 分配给数组,而是从 $$name 变量中取出一个字母并将 $value 分配给这个新变量。
例如,如果 $name = 'subCats',$key = '3',并且 value = 'machine tools'
它将使用 subCats 中的第三个字母创建变量 $C:
$C = 'machine tools'
它应该做的是创建:
$subCats[3] = 'machine tools';
现在,显然有更简单的方法可以为每个查询创建单独的数组,并且我已将代码修改为更懒惰/更简单的版本。但是,我仍然对如何将键值对分配给双美元符号变量感到好奇。
任何帮助将不胜感激!我现在有简单的代码工作,但希望实现这个新代码更加动态,并允许根据需要轻松进行更多查询。
谢谢!
乔什