2012-11-14 28 views
0

如果我在會議的下列陣,我可以得到每個[貓]一個項目位置編號:獲取位號

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. 
     ) 
) 

例如,下面會給我第二描述,但如何獲取,它具有位置#2(出3)的[催化劑] == 1:

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

實際陣列大得多,並且具有大於1 [催化劑]。我試圖得到的數字是每個這樣的組織。

+1

什麼是* *位? 'id'或數組索引? – ManseUK

+0

你說得對,對不起,數值實際上是ID。 – santa

回答

0

我相信你正在尋找一個更原始的方式,但更糟糕的情況下,你可以添加其他元素來保存索引值。

+0

數組中的項可以動態地省略,所以我不想將它與表中存儲的任何值綁定。 – santa

+0

我不知道PHP是否支持這樣的選項,但你可能可以做一個手動的過程......你可以循環陣列瓦特/計數器? 僞C#代碼來說明我在想什麼: INT指數= 0; foreach(數組中的對象行) if(row == this)then break; index ++; } return index; –

0

通過在陣列的開頭添加一個虛擬條目:

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

雖然我會說這是不好的做法(分配白白空間) – Bgi

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 
+0

所以,我不知道怎麼算的位置數每隻貓組... – santa

+0

,如果你有一個動態的內容,如果你知道該項目你在尋找。貓或id,或者您正在搜索que文本。用它來比較。請更清楚的塞納里奧或例子,我很高興向你解釋更多。 – Nwafor