首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从php多维数组中选择数据

从php多维数组中选择数据
EN

Stack Overflow用户
提问于 2012-05-01 23:11:07
回答 3查看 14.7K关注 0票数 1

我有一个多维数组,如下:

代码语言:javascript
复制
$a = array (
   #id           num  name      full name
    0 => array ( 65, 'name-1', 'Name One' ),
    1 => array ( 76, 'name-2', 'Name Two' ),
    2 => array ( 82, 'name-3', 'Name Three' )
);

现在,如果我想选择'name-1' (名称),我使用$a[0][1],而要选择'Name Three' (全名),我使用$a[2][2]

因此,如果我在数组中有id,我可以选择数字、名称或全名。

但是,如果我有号码或名称,并且我想选择全名,该怎么办?我怎么才能得到它呢?

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-01 23:14:41

如果id指的是num:

代码语言:javascript
复制
$num = // num you want to find
foreach ($a as $b) {
    if ($b[0] == $num) {
        $name = $b[1];
        $full = $b[2];
        break;
    }
}

如果id指的是#ID,那么:

代码语言:javascript
复制
$id = // id you want to find
$num = $a[$id][0];
$name = $a[$id][1];
$full = $a[$id][2];
票数 3
EN

Stack Overflow用户

发布于 2012-05-01 23:16:08

你有一个值,你想要一个键,所以也许你应该考虑重构你的数组。如果希望保留该结构,则需要遍历每个元素(for、foreach),并使用array_search检查匹配项(结果为数组键或false)。

代码语言:javascript
复制
for ($i = 0, $ix = count($a); $i < $ix; ++$i) {
  $pos = array_search($NAME, $a[$i]);
  if ($pos === false) {
    continue;
  }
  print_r($a[$i]);
  break;
}
票数 2
EN

Stack Overflow用户

发布于 2012-05-01 23:16:26

您将不得不遍历数组。例如,如果您有以下数字:

代码语言:javascript
复制
$result = false;
foreach ($a as $value) {
    if ($value[0] == $number) { 
        $result = $value; break;
    }
}

现在您可以使用$value了。要使用名称或全名进行搜索,您必须使用$value1和$value2。

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

https://stackoverflow.com/questions/10399723

复制
相关文章

相似问题

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