값 중 하나에서 접두어를 꺼내면서 다차원 배열의 값을 1 차원 배열의 키 값 쌍으로 변환합니까?

조란

다음 형식의 배열이 있습니다.

Array (
    [0] => Array
        (
            [option_id] => 10820
            [option_name] => PREFIX_FIRST_OPT_KEY
            [option_value] => FIRST_OPT_VALUE
            [autoload] => yes
        )

    [1] => Array
        (
            [option_id] => 10821
            [option_name] => PREFIX_SECOND_OPT_KEY
            [option_value] => SECOND_OPT_VALUE
            [autoload] => yes
        )

    [2] => Array
        (
            [option_id] => 10824
            [option_name] => PREFIX_THIRD_OPT_KEY
            [option_value] => SECOND_OPT_VALUE
            [autoload] => yes


           )
    )

다음 구조를 가진 1 차원 연관 배열을 얻기 위해 사용하는 적절한 함수는 무엇입니까?

Array (
   [FIRST_OPT_KEY] => FIRST_OPT_VALUE
   [SECOND_OPT_KEY] => SECOND_OPT_VALUE
   [THIRD_OPT_KEY] => THIRD_OPT_VALUE
)

표시된 값을 새 배열의 키 값 쌍으로 유지하고 나머지 PREFIX_무시하고 싶습니다 . 고정 길이입니다.

내가 지금하고있는 일 :

foreach ( $the_original_array as $key => $value ) {
        $new_key = substr($the_original_array[$key]['option_name'], 7);
        $option_value = $the_original_array[$key]['option_value'];
            $new_array[$new_key] = $option_value;
}

하지만이 작업을 수행하는 더 깨끗하고 효율적인 방법이 있어야한다고 생각합니다.

마크 베이커

PHP 5.5 이상을 실행하지 않는 경우 array_column ()을 시뮬레이션하는 방법

$newArray = array_combine(
    array_map(
        function($value)  {
            return substr($value['option_name'], 7);
        },
        $the_original_array
    ),
    array_map(
        function($value)  {
            return $value['option_value'];
        },
        $the_original_array
    )
);

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관