>  기사  >  백엔드 개발  >  PHP에서 2차원 배열을 가로채는 방법

PHP에서 2차원 배열을 가로채는 방법

王林
王林원래의
2023-05-19 13:14:091002검색

PHP는 매우 일반적으로 사용되는 스크립팅 언어입니다. 일상적인 개발에서 2차원 배열을 가로채야 하는 경우가 종종 있습니다. PHP를 사용하여 2차원 배열을 조작하는 것은 매우 편리합니다. 다음은 2차원 배열을 가로채는 몇 가지 방법입니다.

1. array_slice() 함수를 사용하세요

array_slice() 함수는 PHP에 포함된 함수로 배열의 일부를 가로채는 데 사용할 수 있습니다. 이 기능을 사용하면 2차원 배열을 쉽게 가로챌 수 있습니다. 사용 시 가로채기의 시작 위치와 길이만 지정하면 됩니다.

사용법은 다음과 같습니다.

array array_slice ( array $array , int $offset , int $length = null , bool $preserve_keys = false )

그 중 $array는 차단할 배열, $offset은 차단 시작 위치, $length는 차단 길이, $preserve_keys는 원래 키 이름을 유지할지 여부를 나타내며, 기본값은 false입니다.

이 함수는 새 배열을 반환하며 원래 배열의 값에는 영향을 미치지 않습니다. 다음은 예입니다.

$arr = array(
    array('name'=>'张三','age'=>20),
    array('name'=>'李四','age'=>22),
    array('name'=>'王五','age'=>24),
    array('name'=>'赵六','age'=>26),
    array('name'=>'孙七','age'=>28)
);

$new_arr = array_slice($arr, 1,2);

print_r($new_arr);

출력 결과는 다음과 같습니다.

Array
(
    [0] => Array
        (
            [name] => 李四
            [age] => 22
        )

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

)

위 코드는 원래 배열의 두 번째 요소에서 시작하는 두 요소를 가로채서 새 배열을 반환합니다.

2. for 루프 사용

"for 루프"를 사용하면 2차원 배열의 일부를 가로챌 수도 있고, 루프의 시작 위치와 끝 위치를 제어하여 가로채기를 달성할 수도 있습니다. 다음은 예입니다.

$arr = array(
    array('name'=>'张三','age'=>20),
    array('name'=>'李四','age'=>22),
    array('name'=>'王五','age'=>24),
    array('name'=>'赵六','age'=>26),
    array('name'=>'孙七','age'=>28)
);

$new_arr = array();
for($i=1;$i<=2;$i++){
    array_push($new_arr,$arr[$i]);
}

print_r($new_arr);

출력은 이전 예와 동일합니다.

Array
(
    [0] => Array
        (
            [name] => 李四
            [age] => 22
        )

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

)

위 코드는 "for 루프"를 사용하여 두 번째 요소에서 시작하는 두 요소를 가로채고 새 배열을 반환합니다.

3. array_splice() 함수를 사용하세요

array_splice() 함수도 PHP에 포함된 함수로 배열의 일부를 가로채는 데 사용할 수 있습니다. 이 기능을 사용하면 2차원 배열을 쉽게 가로챌 수 있습니다. 사용 시 가로채기의 시작 위치와 길이만 지정하면 됩니다.

사용법은 다음과 같습니다.

array array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement = array() ]] )

그 중 $input은 가로채기할 배열, $offset은 가로채기 시작 위치, $length는 가로채기 길이, $replacement는 가로채기할 수 있는 대체 내용을 나타냅니다. 배열 또는 다른 유형이어야 합니다.

이 함수는 원래 배열의 값을 수정한다는 점에 유의해야 합니다. 즉, 가로채기 후에 원래 배열이 변경됩니다. 다음은 예입니다.

$arr = array(
    array('name'=>'张三','age'=>20),
    array('name'=>'李四','age'=>22),
    array('name'=>'王五','age'=>24),
    array('name'=>'赵六','age'=>26),
    array('name'=>'孙七','age'=>28)
);

array_splice($arr, 1,2);

print_r($arr);

출력 결과는 다음과 같습니다.

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

    [1] => Array
        (
            [name] => 赵六
            [age] => 26
        )

    [2] => Array
        (
            [name] => 孙七
            [age] => 28
        )

)

위 코드는 원본 배열의 두 번째 요소부터 시작하는 두 요소를 가로채고 원본 배열을 수정합니다.

4. array_slice() 및 foreach 루프 사용

때로는 2차원 배열에서 특정 열을 가로채야 할 때가 있는데, 이는 array_slice() 함수와 foreach 루프를 사용하여 달성할 수 있습니다. 다음은 예입니다.

$arr = array(
    array('name'=>'张三','age'=>20),
    array('name'=>'李四','age'=>22),
    array('name'=>'王五','age'=>24),
    array('name'=>'赵六','age'=>26),
    array('name'=>'孙七','age'=>28)
);

$new_arr = array();
foreach($arr as $val){
    $new_arr[] = array_slice($val,0,1);
}

print_r($new_arr);

출력 결과는 다음과 같습니다.

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

    [1] => Array
        (
            [name] => 李四
        )

    [2] => Array
        (
            [name] => 王五
        )

    [3] => Array
        (
            [name] => 赵六
        )

    [4] => Array
        (
            [name] => 孙七
        )

)

위 코드는 2차원 배열의 첫 번째 열을 가로채서 새 배열을 반환합니다.

위 내용은 2차원 배열을 가로채는 여러 가지 방법으로 일상적인 개발 문제를 해결하는 데 도움이 되기를 바랍니다.

위 내용은 PHP에서 2차원 배열을 가로채는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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