-1

here is my array .

 $myarray = Array
 (
 [0] = Array
(
    [name] = 17
)

   [1] = Array
(
    [name] = 18
)

   [2] = Array
(
    [name] = 19
)

 )

I want myvar to return this '17,18,19'

$var = '17,18,19';
EdChum
  • 376,765
  • 198
  • 813
  • 562
Kikoup
  • 41
  • 6

3 Answers3

0

You can use array_map;

$temp = array_map(function($i){return $i['name'];}, $myarray); 

$output = implode(',', $temp);
Supra
  • 1,612
  • 1
  • 18
  • 36
0

You can do it in many ways. One way to do it with array_column() and implode()

<?php
$myarray = array(array('name' => 17),array('name' => 18),array('name' => 19));
$one_d = array_column($myarray, 'name');
echo implode(',',$one_d);
?>

DEMO: https://3v4l.org/rCmKR

A l w a y s S u n n y
  • 36,497
  • 8
  • 60
  • 103
0

A simple foreach could also do the trick.

$var = '';
foreach ($myarray as $value) {
    $var .= $value['name'].',';
}
$var = substr($var, 0, -1);
echo $var; // 17,18,19
Oliver Nybo
  • 560
  • 1
  • 6
  • 24