개발자의 끄적끄적

[php] object key value 세팅 방법 본문

개발/php

[php] object key value 세팅 방법

효벨 2025. 8. 27. 15:00
728x90
반응형

[php] object key value 세팅 방법

 

made by Gemini

 

안녕하세요!

 

개발을 하다보면

 

array 나 object 를 사용할때

 

key 와 value 를 이용해서 재조합하고는 하는데요!

 

오늘은

 

php 에서

 

object 를 key value 로 재조합하는 예제를 공유해보려고 합니다!

 

 

우선 아래와 같은 object 데이터가 있다고 가정하고,

$users = [
    (object) ['id' => 1, 'name' => 'Alice', 'email' => 'alice@example.com'],
    (object) ['id' => 2, 'name' => 'Bob', 'email' => 'bob@example.com'],
    (object) ['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@example.com'],
];

 

 

위 데이터를

 

object 로 재조합하는데 index 번호가 id 값이 들어가게 설정하려면

 

아래와 같이 하시면 됩니다!

 

$userMap = [];

foreach ($users as $user) {
    // 객체의 'id' 속성을 키로, 전체 객체를 값으로 사용
    $userMap[$user->id] = $user;
}

// $userMap 배열을 출력
print_r($userMap);

/*
// 출력 결과:
Array
(
    [1] => stdClass Object
        (
            [id] => 1
            [name] => Alice
            [email] => alice@example.com
        )

    [2] => stdClass Object
        (
            [id] => 2
            [name] => Bob
            [email] => bob@example.com
        )

    [3] => stdClass Object
        (
            [id] => 3
            [name] => Charlie
            [email] => charlie@example.com
        )
)
*/

 

 

추가적으로 라라벨에서는

 

아래와 같이 mapWithKeys 메소드를 사용할 수도 있습니다!

 

use App\Models\User;

$users = User::all(); // User 모델의 컬렉션을 가져옵니다.

// mapWithKeys()를 사용하여 id를 키로 하는 연관 배열 생성
$userMap = $users->mapWithKeys(function ($user) {
    // 키와 값을 배열로 반환합니다.
    return [$user->id => $user];
});

// $userMap은 Collection 객체입니다.
// toArray() 메서드로 순수 PHP 배열로 변환할 수 있습니다.
$userArray = $userMap->toArray();

print_r($userArray);
/*
// 출력 결과 (위와 동일):
Array
(
    [1] => App\Models\User Object (...)
    [2] => App\Models\User Object (...)
    [3] => App\Models\User Object (...)
)
*/

 

 

참고들 하시구요!

 

도움이 되셨다면, 구독/공감/댓글 부탁드립니다!

 

감사합니다!

반응형
Comments