slpcc63
slpcc63

Reputation: 17

How do I bring an array up a level?

I have a multidimensional array like

$array ( 
     [1]( [camera_name] = name1 )
     [2]( [camera_name] = name2 )
     [3]( [camera_name] = name3 )
     [4]( [camera_name] = name4 )
)

and I just want it so that it is

Array (
    [1] = name1,
    [2] = name2,
    [3] = name3,
    [4] = name4 )

I've tried

for($i;$i<count($array);$i++){
     $newArray = $array[$i][camera_name];
}

also

foreach($array as $key => $value){
     $newArray[$key] = $array[$key][camera_name];
}

But no matter what I do the array always ends up the same:

$newArray ( 
     [1]( [camera_name] = name1 )
     [2]( [camera_name] = name2 )
     [3]( [camera_name] = name3 )
     [4]( [camera_name] = name4 )
)

Upvotes: 0

Views: 91

Answers (4)

Rahil Wazir
Rahil Wazir

Reputation: 10142

You are doing it wrong

Should be like this:

foreach($array as $key => $value){
    $newArray[$key] = $value['camera_man']; // $value['camera_man']
}

Output:

Array
(
    [1] => name1
    [2] => name2
    [3] => name3
    [4] => name4
)

Upvotes: 0

Ravi Sharma
Ravi Sharma

Reputation: 578

Just do following code :

$array    = array( /* added data */ );// your original array
$tempArray = array();

foreach ($array as $key => $value) {
  $tempArray[$key] = $value['camera_name'];
}

print_r($tempArray);

Not the output will be

$newArray ( 
     [1]( [camera_name] = name1 )
     [2]( [camera_name] = name2 )
     [3]( [camera_name] = name3 )
     [4]( [camera_name] = name4 )
)

Upvotes: 0

deceze
deceze

Reputation: 522636

$array = array_map(function (array $item) { return $item['camera_name']; }, $array);

As of PHP 5.5:

$array = array_column($array, 'camera_name');

Upvotes: 1

Nishant Solanki
Nishant Solanki

Reputation: 2128

try this..

$newArray = array();
$i =1;
foreach($array as $key => $value){
     $newArray[$i] = $value;
     $i++;
}


print_r($newArray);

Upvotes: 0

Related Questions