Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I simplify this array?

Tags:

arrays

php

I have this array:

Array
(
    [0] => Array
        (
            [tag_id] => 1
        )

    [2] => Array
        (
            [tag_id] => 3
        )

    [22] => Array
        (
            [tag_id] => 44
        )

    [23] => Array
        (
            [tag_id] => 45
        )

    [25] => Array
        (
            [tag_id] => 47
        )

    [26] => Array
        (
            [tag_id] => 48
        )

)

I'd like it to look something like this so its simpler for me to loop through and insert each value into a database:

Array
(
    [0] => 1
    [1] => 3
    [2] => 44
    [3] => 45
    [4] => 47
    [5] => 48
)
like image 463
Danny Avatar asked Aug 16 '26 07:08

Danny


2 Answers

You can use array_map.

PHP 5.3 or higher:

$callback = function($value) {
   return $value['tag_id'];
};
$result = array_map($callback, $array);

Below 5.3:

function collapseTagIds($value) {
  return $value['tag_id'];
}
$result = array_map('collapseTagIds', $array);
like image 128
Mads Mogenshøj Avatar answered Aug 18 '26 20:08

Mads Mogenshøj


Well, you could do this:

$new_array = array();
foreach($array as $key => $value)
{
    $new_array[$key] = $value['tag_id'];
}
print_r($new_array);
like image 23
Tyler Carter Avatar answered Aug 18 '26 20:08

Tyler Carter



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!