>  기사  >  백엔드 개발  >  PHP 배열의 요소 교체 작업에 대해 자세히 이야기해 보겠습니다.

PHP 배열의 요소 교체 작업에 대해 자세히 이야기해 보겠습니다.

PHPz
PHPz원래의
2023-04-23 09:18:00530검색

PHP는 널리 사용되는 서버 측 스크립팅 언어로 강력한 데이터 처리 기능과 유연성을 갖추고 있으며 웹 개발에 널리 사용됩니다. 그 중 배열은 데이터를 저장하고 연산하는 데 자주 사용되는 매우 중요한 데이터 유형입니다. PHP에서는 내장 함수를 사용하여 추가, 삭제, 쿼리, 정렬, 탐색 등과 같은 배열에 대한 다양한 작업을 수행할 수 있습니다. 이 기사에서는 PHP 배열의 요소 교체 작업에 중점을 두고 구체적인 코드 예제를 제공합니다.

1. 배열 요소 교체를 위한 공통 함수

PHP는 배열 요소 교체를 위한 여러 함수를 제공하며, 그 중 다음 세 가지 함수가 가장 일반적으로 사용됩니다:

  1. array_replace($array1, $array2)

이 함수 배열 2의 요소를 배열 1의 해당 요소로 바꿉니다. 배열 1이나 배열 2에 동일한 키 이름이 있는 경우 후자 배열의 값이 이전 배열의 값을 바꾸는 데 사용됩니다. 아래 코드 예시를 살펴보세요.

$array1 = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry');
$array2 = array('a' => 'apricot', 'd' => 'date');
$result = array_replace($array1, $array2);
print_r($result);

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Array
(
    [a] => apricot
    [b] => banana
    [c] => cherry
    [d] => date
)

보시다시피 배열 1의 키-값 쌍('a'=>'apple') 배열 2의 키-값 쌍으로 대체되었습니다. 키-값 쌍('a'=>'apricot')이 대체되고, 배열 2의 새 키-값 쌍('d'=>'date')이 배열 2도 최종 결과 배열에 추가됩니다.

  1. array_replace_recursive($array1, $array2)

이 함수는 array_replace()와 매우 유사하지만 배열 2의 요소를 배열 1의 해당 요소로 재귀적으로 대체합니다. array1 또는 array2의 값이 배열인 경우 해당 값의 키-값 쌍도 재귀적으로 교체됩니다. 아래 코드 예시를 살펴보세요.

$array1 = array('a' => array('b' => 'blue', 'c' => 'cyan'), 'd' => 'black');
$array2 = array('a' => array('b' => 'brown', 'e' => 'emerald'));
$result = array_replace_recursive($array1, $array2);
print_r($result);

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Array
(
    [a] => Array
        (
            [b] => brown
            [c] => cyan
            [e] => emerald
        )

    [d] => black
)

보시다시피 배열 1의 키-값 쌍('a'=>array('b) '=>'blue ', 'c'=>'시안색'))은 배열 2의 키-값 쌍('a'=>array('b'=>'brown', 'e'=>'emerald' ))가 대체되었습니다. 또한 배열 내의 하위 배열도 재귀적으로 교체됩니다.

  1. array_splice($array, $offset, $length, $replacement)

이 함수는 배열의 지정된 위치에 있는 요소를 삭제하고 해당 위치에 새 요소를 삽입하는 데 사용됩니다. 구체적으로 $offset 매개변수는 삭제/교체할 요소의 시작 인덱스 위치를 나타내고, $length 매개변수는 삭제할 요소 수(삭제된 요소가 없으면 0)를 나타내며, $replacement 매개변수는 새 요소를 나타냅니다. 삽입됩니다. 아래 코드 예시를 살펴보세요.

$array = array('red', 'green', 'blue', 'yellow');
array_splice($array, 1, 2, array('purple', 'orange'));
print_r($array);

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Array
(
    [0] => red
    [1] => purple
    [2] => orange
    [3] => yellow
)

원래 배열의 인덱스 1부터 시작하는 2개의 요소('green', 'blue')를 볼 수 있습니다. 삭제되었으며, 두 개의 새로운 요소('purple', 'orange')가 인덱스 1에 삽입되었습니다.

2. 애플리케이션 예제

이제 특정 애플리케이션 시나리오를 기반으로 위 함수를 사용하여 PHP 배열의 요소를 바꾸는 방법을 살펴보겠습니다.

  1. 대체 규칙 적용

키 이름이 일부 식물의 중국어 이름이고 키 값이 영어 이름인 배열이 있다고 가정합니다. 이제 "apple"을 "orange"로, "cherry"를 "grape"로 바꾸는 등 일부 식물의 영어 이름을 바꾸고 나머지는 변경하지 않으려고 합니다. 이는 array_replace() 함수를 사용하여 달성할 수 있습니다. 아래 샘플 코드를 살펴보세요.

$plants = array('苹果' => 'apple', '香蕉' => 'banana', '樱桃' => 'cherry', '葡萄' => 'grape');
$rules = array('apple' => 'orange', 'cherry' => 'grape');
$newPlants = array_replace($plants, $rules);
print_r($newPlants);

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Array
(
    [苹果] => orange
    [香蕉] => banana
    [樱桃] => grape
    [葡萄] => grape
)

"apple"과 "cherry"라는 키 값이 " orange"와 "grape"는 각각 ''이고 나머지 키 값은 변경되지 않습니다.

  1. 다차원 배열의 응용

다차원 배열이 있고 키 이름은 일부 도시의 이름이고 키 값은 도시의 인구, 산업 및 기타 정보가 포함된 연관 배열이라고 가정합니다. 이제 특정 도시의 인구를 더하고 빼고 결과를 원래 배열에 다시 저장하려고 합니다. 이는 array_replace_recursive() 함수를 사용하여 달성할 수 있습니다. 코드는 다음과 같습니다.

$cities = array(
    '北京市' => array('人口' => 2154, '产业' => '政治、文化、金融、科技'),
    '上海市' => array('人口' => 2424, '产业' => '金融、贸易、科技、文化'),
    '广州市' => array('人口' => 1500, '产业' => '商贸、制造、物流、金融')
);
$rules = array(
    '北京市' => array('人口' => -100),
    '广州市' => array('人口' => 200)
);
$newCities = array_replace_recursive($cities, $rules);
print_r($newCities);

위 코드를 실행하면 다음과 같은 결과가 나타납니다.

Array
(
    [北京市] => Array
        (
            [人口] => 2054
            [产业] => 政治、文化、金融、科技
        )

    [上海市] => Array
        (
            [人口] => 2424
            [产业] => 金融、贸易、科技、文化
        )

    [广州市] => Array
        (
            [人口] => 1700
            [产业] => 商贸、制造、物流、金融
        )
)

보시다시피 베이징의 인구는 100만 명 감소했습니다. 광저우의 인구는 200만 명 증가했으며 상하이에 대한 정보는 변경되지 않았습니다.

  1. 지정된 요소를 삭제하는 애플리케이션

여러 개인의 이름과 나이를 저장하는 배열이 있다고 가정해 보겠습니다. 이제 30세 이상의 개인정보를 삭제하고 싶습니다. 이는 array_splice() 함수를 사용하여 달성할 수 있습니다. 코드는 다음과 같습니다.

$people = array(
    array('name' => '张三', 'age' => 25),
    array('name' => '李四', 'age' => 35),
    array('name' => '王五', 'age' => 28),
    array('name' => '赵六', 'age' => 42)
);
for ($i = count($people) - 1; $i >= 0; $i--) {
    if ($people[$i]['age'] >= 30) {
        array_splice($people, $i, 1);
    }
}
print_r($people);

위 코드를 실행하면 다음과 같은 결과가 나타납니다.

Array
(
    [0] => Array
        (
            [name] => 张三
            [age] => 25
        )

    [1] => Array
        (
            [name] => 王五
            [age] => 28
        )

)

30세 이상의 두 사람의 정보가 입력된 것을 볼 수 있습니다. 성공적으로 삭제되었으며, 30세 미만인 경우 두 사람 모두의 정보는 동일하게 유지됩니다.

3. 요약

PHP에서 배열은 매우 일반적으로 사용되는 데이터 구조로 이를 추가, 삭제, 수정 및 확인할 수 있습니다. 이 기사에서는 array_replace(), array_replace_recursive() 및 array_splice() 세 가지 함수의 사용에 중점을 두고 PHP 배열의 요소 교체 작업을 소개하고 특정 응용 프로그램 시나리오를 기반으로 한 코드 예제를 제공합니다. 이 글이 독자들이 PHP 배열 관련 지식을 더 잘 이해하고 활용하는 데 도움이 되기를 바랍니다.

위 내용은 PHP 배열의 요소 교체 작업에 대해 자세히 이야기해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.