I have been struggling to get the iteration working of a objects array in php. I have a array structure like this:
Array
(
[0] => stdClass Object
(
[tid] => 7
[vid] => 2
[name] => Bakkerijen
[description] =>
[format] => full_html
[weight] => 0
[depth] => 0
[parents] => Array
(
[0] => 0
)
)
[1] => stdClass Object
(
[tid] => 10
[vid] => 2
[name] => Horeca
[description] =>
[format] => full_html
[weight] => 1
[depth] => 0
[parents] => Array
(
[0] => 0
)
)
[2] => stdClass Object
(
[tid] => 8
[vid] => 2
[name] => Food Shops
[description] =>
[format] => full_html
[weight] => 2
[depth] => 0
[parents] => Array
(
[0] => 0
)
)
)
I want to add a selected class to li if a value matches to tid within this array.
Here is the code and HTML I did for that:
<?php $current_tid = 7; ?>
<?php foreach ($terms as $term): ?>
<?php unset($term->parents); ?>
<?php if($term->tid == $current_tid) { ?>
<li><a href="/portfolio#filter=.tid-<?php print $term->tid; ?>" class="selected"><?php print $term->name;?></li>
<?php }else if($term->tid != $current_tid){ ?>
<li><a href="/portfolio#filter=.tid-<?php print $term->tid; ?>"><?php print $term->name; ?></a></li>
<?php } ?>
<?php endforeach; ?>
This is the final output I am getting:
<ul class="cathome-list-inner">
<li>
<a class="selected" href="/portfolio#filter=.tid-7">Bakkerijen</a>
</li>
<a class="selected" href="/portfolio#filter=.tid-7"></a>
<li>
<a class="selected" href="/portfolio#filter=.tid-7"></a>
<a href="/portfolio#filter=.tid-10">Horeca</a>
</li>
<li>
<a href="/portfolio#filter=.tid-8">Food Shops</a></li>
<li>
<a href="/portfolio#filter=.tid-9">Non-food Shops</a></li>
<li>
<a href="/portfolio#filter=.tid-11">Privé interieurprojecten</a>
</li>
The issue is why I am getting extra anchor tag added with the selected class..