> 백엔드 개발 > PHP 문제 > PHP 키리스 배열 변환

PHP 키리스 배열 변환

PHPz
풀어 주다: 2023-05-07 15:10:10
원래의
452명이 탐색했습니다.

PHP에서는 일반적으로 배열을 사용하여 관련된 여러 데이터를 저장하거나 조작합니다. 때로는 키가 없는 배열(즉, 지정된 첨자가 없는 배열)을 키가 있는 배열로 변환해야 하는 경우가 있습니다. 이 기사에서는 키가 없는 배열을 키가 있는 배열로 변환하는 방법을 소개합니다.

1. 키가 없는 배열을 키가 있는 배열로 변환해야 하는 이유는 무엇인가요?

PHP에서 배열은 숫자 첨자 또는 문자열 첨자를 사용하여 해당 요소에 액세스할 수 있습니다. 숫자 첨자를 사용하면 PHP는 배열에 나타나는 순서대로 요소에 기본 첨자를 할당합니다. 그러나 배열을 정렬하거나 검색하거나 다른 방식으로 작업해야 하는 경우 사용자 정의 첨자를 사용해야 합니다. 이때, 배열에 첨자를 지정하지 않은 경우에는 키 배열로 변환해야 합니다.

2. array_combine() 함수를 사용하여 키가 없는 배열을 키가 있는 배열로 변환합니다.

PHP는 두 개의 배열을 하나의 배열로 결합하는 array_combine() 함수를 제공합니다. array_combine() 함수의 첫 번째 파라미터는 키 이름으로 사용되는 배열이고, 두 번째 파라미터는 키 값으로 사용되는 배열입니다. 두 배열의 요소 수가 동일하지 않으면 array_combine() 함수는 false를 반환합니다.

키 없는 배열을 키 있는 배열로 변환하려면 먼저 새 키 배열을 만든 다음 array_combine() 함수를 호출하여 이를 원래 배열과 결합할 수 있습니다.

다음은 키가 없는 배열을 키가 있는 배열로 변환하는 샘플 코드입니다.

$arr = [10, 20, 30, 40, 50]; // 无键数组
$keys = range(1, count($arr)); // 创建新的键名数组

$new_arr = array_combine($keys, $arr); // 将新的键名数组和原数组组合

print_r($new_arr); // 输出有键数组
로그인 후 복사

출력 결과:

Array
(
    [1] => 10
    [2] => 20
    [3] => 30
    [4] => 40
    [5] => 50
)
로그인 후 복사

3. 유형에 따라 배열 요소에 키 이름을 할당합니다

경우에 따라 키 이름을 할당할 수도 있습니다. 유형에 따른 배열 요소 유형은 키 이름을 할당합니다. 예를 들어, 배열의 요소가 문자열인 경우 문자열을 키 이름으로 사용할 수 있습니다. 요소가 정수 또는 부동 소수점 숫자인 경우 요소 값을 키 이름으로 사용할 수 있습니다.

다음은 키 없는 배열을 키 배열로 변환하는 샘플 코드입니다.

$arr = ['apple', 'banana', 'orange']; // 无键数组
$new_arr = [];

foreach ($arr as $key => $value) {
    if (is_string($value)) { // 如果元素是字符串
        $new_arr[$value] = $value; // 使用字符串作为键名
    } else { // 如果元素是数字
        $new_arr[$value] = $value; // 使用元素值作为键名
    }
}

print_r($new_arr); // 输出有键数组
로그인 후 복사

출력 결과:

Array
(
    [apple] => apple
    [banana] => banana
    [orange] => orange
)
로그인 후 복사

4. 결론

위에서는 키 없는 배열을 키 배열로 변환하는 방법을 소개합니다. array_combine() 함수를 사용하고 요소 유형에 따라 키를 할당하면 키 없는 배열을 쉽게 처리하고 키 배열로 변환할 수 있습니다. 실제 응용 분야에서는 특정 상황에 따라 배열을 처리하는 데 적합한 방법을 선택할 수 있습니다.

위 내용은 PHP 키리스 배열 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿