-1

i'm newbie in php foreach. Here's my code:

$name= array("1", "2", "3");
$say= array("one", "two", "three");
foreach ($name as $v) {
$nm= $v;
$show = array();
    foreach($say as $value) 
    $show[] = $nm.'='.$value;
    $show = implode("<br>",$show);
}

How can i display something like this

1=one
2=two
3=three
Shankar Narayana Damodaran
  • 68,075
  • 43
  • 96
  • 126
Gasta
  • 43
  • 8

7 Answers7

4

Make use of a for loop instead.

$name= array("1", "2", "3");
$say= array("one", "two", "three");

for($i=0;$i<count($name);$i++)
{
echo "$name[$i]=$say[$i]<br>";
}

Demo

Shankar Narayana Damodaran
  • 68,075
  • 43
  • 96
  • 126
1

Here is the perfect answer.

$name= array("1", "2", "3");
$say= array("one", "two", "three");
$string = "";
for($row=0;$row<count($name);$row++)
{    
   if (array_key_exists($row, $say)) {
      $string .= "$name[$row]=$say[$row]<br>";
   }
}
echo $string;

Above solution may throw error if you add more value in $name array. Try this

Addy
  • 998
  • 4
  • 12
  • 36
0

Just use key

foreach ($name as $k=>$v) {
    echo $v . '=' . $say[$k] . '<br />';
}
Mario Radomanana
  • 1,698
  • 1
  • 21
  • 31
0
$name= array("1", "2", "3");
$say= array("one", "two", "three");
$new = array_combine($name,$say);
foreach($new as $key=>$val) {
    echo $key.'='.$val."<br/>";
}
Jignesh Patel
  • 1,028
  • 6
  • 10
0
$name= array("1", "2", "3");
$say= array("one", "two", "three");
$result = array_combine($name, $say);
foreach ($result as $k => $v)
    echo $k . '=' . $v;
u_mulder
  • 54,101
  • 5
  • 48
  • 64
0

Use a for loop instead of a foreach loop. I assume the number of items on each array above will be equal

$name= array("1", "2", "3");
$say= array("one", "two", "three");
for($i=0;$i<count($name);$i++)
{
      echo "$name[$i]=$say[$i]<br>";
}
Abishek
  • 11,191
  • 19
  • 72
  • 111
0

Can you try this, Using array_combine()

$name= array("1", "2", "3");
$say= array("one", "two", "three");
$data = array_combine ($name , $say );

foreach($data as $key=>$value){   
    echo $key.'='.$value.'<br>';
}

Solution 2:

$name= array("1", "2", "3");
$say= array("one", "two", "three");    
foreach($name as $key=>$value){   
    echo $value.'='.$say[$key].'<br>';
}
Krish R
  • 22,583
  • 7
  • 50
  • 59