웃웃웃웃웃
웃웃웃웃웃

Reputation: 362

Convert two columns in an array of objects into an associative array

I am working in PHP.

I have one array. i need to create language array like ([CN] => Chinese) this format.

My array response is given below.

Array
(
    [0] => stdClass Object
        (
            [language_name] => Chinese
            [language_code] => CN
        )

    [1] => stdClass Object
        (
            [language_name] => English
            [language_code] => EN
        )

    [2] => stdClass Object
        (
            [language_name] => Korea
            [language_code] => KO
        )

    [3] => stdClass Object
        (
            [language_name] => Vietnamese
            [language_code] => VN
        )

)

I need to convert this type of array

Array(
      [CN]=>Chinese
      [EN]=>English
      [KO]=>Korea
      [VN]=>Vietnamese
)

How can I do this?

Upvotes: 1

Views: 7571

Answers (4)

Padmanathan J
Padmanathan J

Reputation: 4620

This code is working fine

foreach($objects as $object)
{
    $newArray[$object->language_code] = $object->language_name;
}
echo "<pre>";
print_r($newArray);
echo "</pre>";

Upvotes: 0

pulsar
pulsar

Reputation: 987

you could try this:

foreach($objects as $object)
{
    $newArray[$object->language_code] = $object->language_name;
}
print_r($newArray);

Upvotes: 0

Kamil Jarosz
Kamil Jarosz

Reputation: 2197

Use PHP's foreach :

function convert($array){
    $ret = array();

    foreach($array as $obj){
        $ret[$obj->language_code] = $obj->language_name;
    }

    return $ret;
}

Upvotes: 0

user1386320
user1386320

Reputation:

Code:

<?php

$newArray = array();

foreach($yourArray as $key => $items) {
    $newArray[$items->language_code] = $items->language_name;
}

die('<pre>' . print_r($newArray, true) . '</pre>');

That's it.

Upvotes: 2

Related Questions