Cannot use object of type stdClass as array in

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dylan PHP

Dylan PHP

03/12/2012 14:45:20
Quote Anchor link
Ik ben bezig om voor Joomla een component te maken. Nu ben ik op een punt waarbij ik alle categorieën uit de database wil halen. Dat doe ik als volgt

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
function getCategorie()
{
    $db = JFactory::getDBO();
    
    $query = "SELECT id,title FROM #__categories ORDER BY title ASC";
    
    $db->setQuery($query);
    return $db->loadObjectList();
}


Resultaat
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
array(8) {
  [0]=>
  object(stdClass)#165 (2) {
    ["id"]=>
    string(1) "2"
    ["title"]=>
    string(17) "Ongecategoriseerd"
  }
  [1]=>
  object(stdClass)#195 (2) {
    ["id"]=>
    string(1) "3"
    ["title"]=>
    string(17) "Ongecategoriseerd"
  }
}


Maar als ik deze wil uitlezen krijg ik een error "Cannot use object of type stdClass as array"

Wie-o-wie kan mij opweg helpen door een foreach statement voor me te maken? Ik kom er niet uit..
 
PHP hulp

PHP hulp

25/04/2024 17:56:26
 
Kris Peeters

Kris Peeters

03/12/2012 14:58:02
Quote Anchor link
getCategorie() geeft een array van objecten terug.

Dus, ergens heb je iets als
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$a
= $object->getCategorie();
?>


Toon al eens de code waar je dit doet.

Het eerste object is $a[0], het tweede is $a[1], ...
Maar dan ... stel dat je de 'id' wil van het tweede object:

$a[1]->id

Wat je niet mag doen (dit is wat de error report zegt):
$a[1]['id']
Gewijzigd op 03/12/2012 14:58:42 door Kris Peeters
 
Dylan PHP

Dylan PHP

03/12/2012 15:00:13
Quote Anchor link
Ik doe het volgende om de categorieën aan te roepen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$categorie_array = getCategorie();

Wat moet ik dan als foreach gebruiken?
 
Kris Peeters

Kris Peeters

03/12/2012 15:18:09
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$categorie_array
= getCategorie();
foreach ($categorie_array as $key => $item) {
  echo $item->id;
  // niet $item['id'];
}
?>
 
Dylan PHP

Dylan PHP

03/12/2012 15:29:47
Quote Anchor link
Oh wat voel ik me dom, dit had ik moeten weten, ik vergat de key! Heel erg bedankt.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.