How to change class of first echo result in PHP? How to change class of first echo result in PHP? wordpress wordpress

How to change class of first echo result in PHP?


I would suggest you to use a counter.. Not sure if this is the right way to do it..

Change your foreach as follows

$i=0;foreach($categories as $category) {  if($i==0)    echo '<li class="selected"><a data-content="' . $category->slug . '" href="#' . $category->slug . '">' . $category->name . '</a></li>';  else    echo '<li><a data-content="' . $category->slug . '" href="#' . $category->slug . '">' . $category->name . '</a></li>';  $i++;  }

OR

As suggested in the answer here, you could use array_shift() to process the first item in the array separatley.

That is, do it as below

$first = array_shift($categories);echo '<li class="selected"><a data-content="' . $first ->slug . '" href="#' . $first ->slug . '">' . $first ->name . '</a></li>';foreach($categories as $category) {  echo '<li><a data-content="' . $category->slug . '" href="#' . $category->slug . '">' . $category->name . '</a></li>';}

Read more about array_shift() in the docs


Lal's solution will work fine (as long as you increment $i), but here's a simpler way to do it without an extra variable for the counter :

foreach($categories as $index => $category){   if(!$index) echo "This is the first element";   else echo "This is not the first element";}

(not sure if this should be an edit or an answer since it's basically the same method but with a slightly simpler synthax, I'll post as an answer for now)


You can use this syntax for foreach. Using this syntax you have in $k the index of the iteration, while in $v the value of the array you're iterating. So if $k == 0 you're in the first iteration.

$a = array("first", "second", "third", "fourth");foreach ($a as $k=>$v) {    echo $k . "--->" . $v ;    if($k == 0){        echo "First iteration!";        //Do your stuff     }    echo "<br>";}