Ik ben er even een tijdje uit geweest.

Maar hoe zet ik ook alweer een waarde uit een array in een string.
Ik heb nu het volgende

array:

Array
(
    [233] => stdClass Object
        (
            [id] => 233
            [idnumber] => manager P & O-1
            [name] => manager P & O-1
            [description] => MA-PO
        )

)


code:

if( $roles = lms_cohorts_get_roles( $userid ) )
		{
			
                   $functie = ?;
		
		}
Wat is het nut van de foreach() als je alleen de laatste gebruikt.
Wat stel jij dan voor SanThe ?
Doe eens een print_r($roles) tussen regel 2 en 3,

Array ( [164] => stdClass Object ( [id] => 164 [idnumber] => STAGIA [name] => stagiaire alg. en adm. [description] => STAGIA-stagiaire alg. en adm. ) )


[size=xsmall]Toevoeging op 19/06/2015 18:07:33:[/size]

Ik ha nu $userid = 533;
Je ziet dat $roles maar 1 record heeft, dus een foreach() is niet nodig.

In de if() heb je geen vergelijking maar een toekenning.
Is dat de bedoeling?
Die if() is nodig omdat er een else aan zit als de return leeg is hij een andere waarde moet meegeven.

[size=xsmall]Toevoeging op 19/06/2015 21:08:09:[/size]

Hoe kan ik dit nu dan zonder foreach ook alweer doen want ik zie het echt even niet.
Zoek het verschil:

<?php
if( $roles = lms_cohorts_get_roles( $userid ) )
?>

met:

<?php
if( $roles == lms_cohorts_get_roles( $userid ) )
?>

Dat is wat SanThe bedoelde.

[size=xsmall]Toevoeging op 19/06/2015 21:58:18:[/size]

- SanThe - op 19/06/2015 18:11:17

Je ziet dat $roles maar 1 record heeft, dus een foreach() is niet nodig.

Nee dat is niet juist. $roles is een array van objecten. Alleen zit er nu maar één element in de array. Echter kunnen dat er voor het zelfde geld meerder zijn natuurlijk.

[size=xsmall]Toevoeging op 19/06/2015 22:00:10:[/size]

Misschien is het toch handig als Rik even in normaal nederlands uitlegt wat hij uiteindelijk wil bereiken.
(wil je alle rollen van de gebruiker weergeven?)
Ik wil eigenlijk alleen maar de functiegroep hebben die in ['name'] staat alleen is 164 steeds anders per user.
Mijn gevoel zegt dat het niet hele lastig is en met de foreach werkt het al maar omdat het maar 1 record is misschien anders oplossen dit ?


Array ( [164] => stdClass Object ( [id] => 164 [idnumber] => STAGIA [name] => stagiaire alg. en adm. [description] => STAGIA-stagiaire alg. en adm. ) )
De array die je toont is gewoon niet de meest handige Rik. Ik vraag me ook af hoe je daar aan komt.

Anyway, er van uitgaande dat je altijd maar één object in die array hebt zitten en dus altijd het eerste (en enigste) object wilt hebben dat in de array zit, kun je het zo oplossen:
<?php
$role = current($jouw_array);
echo $role->name;
?>
Frank bedankt dit werkt zoals ik het wil hebben.

Reageren