-2

I have array like

$arr = array(1 => array('name' => 'abc', 'age' =>25), 2 => array('name' => 'xyz', 'age' =>28)) 

and i want to add prefix Mr. to the name value. So array will become

$arr = array (1 => array('name' => 'Mr. abc', 'age' =>25), 2 => array('name' => 'Mr. xyz', 'age' =>28))

In php can i do this?

Nitin Pawar
  • 263
  • 4
  • 12

5 Answers5

1

You can manipulate the "name" index value according to your requirement like :

$arr = array (1 => array('name' => 'abc', 'age' =>25), 2 => array('name' => 'xyz', 'age' =>28));
foreach ($arr as $key => $val) {
  $arr[$key]['name'] = 'Mr. '.$val['name'];
}

click on this link to see result

Krishna Gupta
  • 695
  • 4
  • 15
1

Assuming your array name is $array...

foreach($array as $id=>$el){
    $array[$id]['name']='Mr '.$el['name'];
}
1

Please try the below code. It may help you.

$array = array(1 => array('name' => 'abc', 'age' =>25), 2 =>    array('name' => 'xyz', 'age' =>28));
foreach($array as &$element)
{
   $element['name']= 'Mr. '.$element['name'];

}
print_r($array);
Azeez Kallayi
  • 2,567
  • 1
  • 15
  • 19
1

Use array_map - Applies the callback to the elements of the given arrays.

Example-

 <?php
  function funct($ar) {
        $ar['name'] = "Mr. ".$ar['name'];
        return $ar;
    } 

    $array = array(1 => array('name' => 'abc', 'age' =>25), 2 => array('name' => 'xyz', 'age' =>28));
    $array = array_map('funct', $array);     
    pr($array);
    ?>
shubham715
  • 3,324
  • 1
  • 17
  • 27
1

try this is code

 <?php

    $array= Array (1 => array('name' => 'abc', 'age' =>25), 2 => array('name' => 'xyz', 'age' =>28));

    foreach($array as &$value) {
        $value['name'] = 'MR. '.$value['name'];
    }

    print_r($array);


    ?>

    /* output

    Array ( [1] => Array ( [name] => MR. abc [age] => 25 ) [2] => Array ( [name] => MR. xyz [age] => 28 ) )

     */
Ehsan Ilahi
  • 298
  • 5
  • 15