从数组中获取位置编号

时间:2012-11-14 13:50:58

标签: php

如果我在会话中有以下数组,我可以在每个[cat]中获得一个项目位置编号:

Array
(
    [0] => stdClass Object
        (
            [id] => 1
            [cat] => 1
            [que] => Description here.
        )

    [1] => stdClass Object
        (
            [id] => 2
            [cat] => 1
            [que] => Description here.
        )

    [2] => stdClass Object
        (
            [id] => 3
            [cat] => 1
            [que] => Description here.
        )
)

例如,以下内容将给出第二个描述,但我如何得到它在[cat]中的位置#2(满分3)== 1:

$item = $_SESSION['questions'][2]->que;

实际的数组要大得多,并且有超过1 [cat]。我想要获得的计数是每个这样的团体。

3 个答案:

答案 0 :(得分:0)

我确定你正在寻找更原生的方式,但更糟糕的情况是,你可以添加另一个元素来保存索引值。

答案 1 :(得分:0)

通过在数组的开头添加一个虚拟条目:

array_unshift($_SESSION['questions'], array());
$item = $_SESSION['questions'][2]->que;

答案 2 :(得分:0)

    foreach($_SESSION['questions'] as $key=>$val)
    {
      if($val->id == 3)
      echo $key;
    }

//or

    foreach($_SESSION['questions'] as $key=>$val)
    {
      if($val->que == "Description here.")
      echo $key;
    }

//do what ever you want