-1

I have 3 arrays and want to merge them together.
So i can use it in ONE foreach

<?php 
print_r($zaza_optionsbase['header-icon-title']);
print_r($zaza_optionsbase['header-icon']);
print_r($zaza_optionsbase['header-icon-link']);
?> 


ARRAY ( [0] => FIRST TITLE [1] => SECOND TITLE [2] => THIRTH TITLE )
ARRAY ( [0] => FA FA-HEART [1] => FA FA-POWER-OFF [2] => FA FA-TH )
ARRAY ( [0] => LINK1 [1] => LINK2 [2] => LINK3 )



Something like below.. but i can't get it to work

<?php 
$newArray = array($zaza_optionsbase['header-icon-title'], $zaza_optionsbase['header-icon'], $zaza_optionsbase['header-icon-link']);

foreach ($newArray as $item)
{
    echo '<a href="'.$item['header-icon-title'].'"><i class="'.$item['header-icon-icon'].'"></i>'.$item['header-icon-link'].'</a>';
}
?>

Thanx in advanced

it must output:

    echo '<a href="'.$item['header-icon-title[1]'].'"><i class="'.$item['header-icon-icon[1]'].'"></i>'.$item['header-icon-link[1]'].'</a>';
    echo '<a href="'.$item['header-icon-title[2]'].'"><i class="'.$item['header-icon-icon[2]'].'"></i>'.$item['header-icon-link[2]'].'</a>';
    echo '<a href="'.$item['header-icon-title[3]'].'"><i class="'.$item['header-icon-icon[3]'].'"></i>'.$item['header-icon-link[3]'].'</a>';
4
  • you can + arrays, so foreach($arr1 + $arr2 + $arr3 as $foo) may work for you. Commented Jun 29, 2016 at 20:59
  • What exactly would the expected output be? Commented Jun 29, 2016 at 20:59
  • So you want to loop through 3 arrays simultaneously? Commented Jun 29, 2016 at 21:07
  • It should output:<br><br> echo '<a href="'.$item['header-icon-title[1]'].'"><i class="'.$item['header-icon-icon[1]'].'"></i>'.$item['header-icon-link[1]'].'</a>';<br> echo '<a href="'.$item['header-icon-title[2]'].'"><i class="'.$item['header-icon-icon[2]'].'"></i>'.$item['header-icon-link[2]'].'</a>';<br> echo '<a href="'.$item['header-icon-title[3]'].'"><i class="'.$item['header-icon-icon[3]'].'"></i>'.$item['header-icon-link[3]'].'</a>'; Commented Jun 29, 2016 at 21:09

1 Answer 1

1

You can pass all of your arrays into array_map instead of using foreach.

array_map(function($title, $icon, $link) {
    echo '<a href="'.$title.'"><i class="'.$icon.'"></i>'.$link.'</a>';
}
, $zaza_optionsbase['header-icon-title']
, $zaza_optionsbase['header-icon']
, $zaza_optionsbase['header-icon-link']);
Sign up to request clarification or add additional context in comments.

1 Comment

That worked perfectly!... Thanx

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.