【发布时间】:2011-12-19 05:09:58
【问题描述】:
我的代码可以按我的预期工作:
$somearr['some']='value';
$arr[]="first";
$arr['first'][]=$somearr['some'];
echo "<br> Var dump of arr: " . var_dump($arr);
产量:
array (size=2)
0 => string 'first' (length=5)
'first' =>
array (size=1)
0 => string 'value' (length=5)
完美。
现在尝试在我的项目中应用相同的原则(我假设):
function get_field_names($database, $table) {
$show_statement = "DESCRIBE `" . $database . "`.`" . $table . "`";
$column_result = mysql_query($show_statement);
if (mysql_num_rows($column_result) > 0) {
$f = 0;
while ($row = mysql_fetch_assoc($column_result, MYSQL_ASSOC)) {
$field_names[$f] = $row['Field'];
if ($row['Key'] != "") {
$field_names[$f][0] = $row['Key'];
}
$f++;
}
}
return $field_names;
}
但不是用$row['Key'] 的值为我的数组$field_names[$f][0] 创建第二个维度,而是$field_names[$f] 字符串中的第一个字符被$row['Key'] 中的第一个字符覆盖,这样$field_names[$f]包含字符串:“field_name”,在 $field_names[$f][0] = $row['Key'] 之后,$row['Key'] == "PRI",我得到:“Pield_name”。
我确定我误解了数组$row,但我开始绕圈子了。
【问题讨论】:
-
此问题缺少所需的输出。
标签: php multidimensional-array types