首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数组中变量的php字符串名称

问数组中变量的php字符串名称
EN

Stack Overflow用户
提问于 2011-01-11 20:01:02
回答 6查看 6.8K关注 0票数 1

如何从数组中提取字符串定义为新数组,如何在php中编码

代码语言:javascript
复制
$column = array("id","name","value");

假设在mysql中找到了3行

希望结果是这样的

代码语言:javascript
复制
$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数组中提取字符串。

如何编码呢?或者如果我的问题很愚蠢,请给我一些建议。

谢谢。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-01-11 20:53:06

我对你上一个问题的回答是:

代码语言:javascript
复制
$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;
  }
}
票数 1
EN

Stack Overflow用户

发布于 2011-01-11 20:06:09

我不明白为什么你想要这样建模你的数据,你在调试方面要求的是一个世界的伤害。您可以使用“变量变量”来定义它,或者使用$GLOBALS动态构建全局变量:

代码语言:javascript
复制
$somevar = "hello"
$$somevar[0] = "first index";  // creates $hello[0]

$GLOBALS[$somevar][0] = "first index"; // creates $hello[0] in global scope
票数 1
EN

Stack Overflow用户

发布于 2011-01-11 20:06:37

试一试

代码语言:javascript
复制
$array = array();
foreach ($results as $r){
   foreach ($column as $col ){
       $array[$col][] = $r[$col];
   }
}

extract ($array);

或者,您可以简单地这样做

代码语言:javascript
复制
$id = array();
$name = array();
$value = array();

foreach ( $results as $r ){
    $id[] = $r['id']; // or $r[0];
    $name[] = $r['name'];
    $value[] = $r['value'];
}

希望这就是你所问的

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4657380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档