라이브러리

[PHP] RandomRandomizer::shuffleArray - 배열의 순열을 가져옵니다.




PHP Randomizer Class: shuffleArray


PHP의 Randomizer 클래스는 배열을 무작위로 섞는 기능을 제공합니다. 이 기능을 사용하면 배열의 요소를 랜덤으로 재배치할 수 있습니다.

# Randomizer Class


Randomizer 클래스는 PHP의 내장 클래스가 아니며, 직접 구현하거나 외부 라이브러리를 사용하여 사용할 수 있습니다. 이 예제에서는 간단한 Randomizer 클래스를 구현하여 shuffleArray 메서드를 제공할 것입니다.

#hostingforum.kr
php

class Randomizer {

    public static function shuffleArray(array &$array) {

        $count = count($array);

        for ($i = $count - 1; $i > 0; $i--) {

            $j = rand(0, $i);

            list($array[$i], $array[$j]) = array($array[$j], $array[$i]);

        }

    }

}



# shuffleArray 메서드


shuffleArray 메서드는 배열을 무작위로 섞는 기능을 제공합니다. 이 메서드는 배열의 요소를 랜덤으로 재배치하여 배열의 순서를 변경합니다.

# 예제


#hostingforum.kr
php

$array = [1, 2, 3, 4, 5];

echo "원본 배열: ";

print_r($array);

echo "
";



Randomizer::shuffleArray($array);

echo "섞인 배열: ";

print_r($array);



실행 결과:

#hostingforum.kr


원본 배열: 

Array

(

    [0] => 1

    [1] => 2

    [2] => 3

    [3] => 4

    [4] => 5

)



섞인 배열: 

Array

(

    [0] => 4

    [1] => 2

    [2] => 5

    [3] => 1

    [4] => 3

)



# 주의사항


shuffleArray 메서드는 배열의 원본을 변경합니다. 따라서, 원본 배열을 유지하고 싶다면, 메서드 호출 전에 배열의 복사본을 생성하거나, 메서드 호출 후 원본 배열을 복원해야 합니다.

# 외부 라이브러리 사용


PHP의 내장 클래스가 아닌 Randomizer 클래스를 사용하는 경우, 외부 라이브러리를 사용하여 shuffleArray 메서드를 사용할 수 있습니다. 예를 들어, `randomizer` 라이브러리를 사용할 수 있습니다.

#hostingforum.kr
php

use Randomizer;



$array = [1, 2, 3, 4, 5];

echo "원본 배열: ";

print_r($array);

echo "
";



Randomizer::shuffleArray($array);

echo "섞인 배열: ";

print_r($array);



실행 결과는 위의 예제와 동일합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 300 페이지

검색

게시물 검색