如何从数组中提取字符串定义为新数组,如何在php中编码
$column = array("id","name","value");假设在mysql中找到了3行
希望结果是这样的
$id[0] = "1";
$id[1] = "6";
$id[2] = "10";
$name[0] = "a";
$name[1] = "b";
$name[2] = "c";
$value[0] = "bat";
$value[1] = "rat";
$value[2] = "cat";我想从定义为新数组的$column数组中提取字符串。
如何编码呢?或者如果我的问题很愚蠢,请给我一些建议。
谢谢。
发布于 2011-01-11 20:53:06
我对你上一个问题的回答是:
$result = mysql_query($sql);
$num = mysql_num_rows($result);
$i = 0;
if ($num > 0) {
while ($row = mysql_fetch_assoc($result)) {
foreach($row as $column_name => $column_value) {
$temp_array[$column_name][$i] = $column_value;
}
$i++;
}
foreach ($temp_array as $name => $answer) {
$$name = $answer;
}
}发布于 2011-01-11 20:06:09
我不明白为什么你想要这样建模你的数据,你在调试方面要求的是一个世界的伤害。您可以使用“变量变量”来定义它,或者使用$GLOBALS动态构建全局变量:
$somevar = "hello"
$$somevar[0] = "first index"; // creates $hello[0]
$GLOBALS[$somevar][0] = "first index"; // creates $hello[0] in global scope发布于 2011-01-11 20:06:37
试一试
$array = array();
foreach ($results as $r){
foreach ($column as $col ){
$array[$col][] = $r[$col];
}
}
extract ($array);或者,您可以简单地这样做
$id = array();
$name = array();
$value = array();
foreach ( $results as $r ){
$id[] = $r['id']; // or $r[0];
$name[] = $r['name'];
$value[] = $r['value'];
}希望这就是你所问的
https://stackoverflow.com/questions/4657380
复制相似问题