2014-11-07 2 views
1

다차원 배열을 가져와 최상위 수준에서 2 개의 임의 항목을 선택하여 새로운 다차원 배열을 만드는 방법을 찾고 있습니다. 예를 들어PHP의 다차원 배열에서 2 개의 무작위 항목을 취하는 방법

, 나는 다음과 같은 배열 $data이있는 경우 :

array (size=3) 
    0 => 
    array (size=1) 
     0 => 
     object(stdClass)[500] 
      public 'id' => int 2 
      public 'first_name' => string 'Mary' (length=4) 
      public 'last_name' => string 'Sweet' (length=5) 
    1 => 
    array (size=1) 
     0 => 
     object(stdClass)[501] 
      public 'id' => int 9 
      public 'first_name' => string 'Joe' (length=3) 
      public 'last_name' => string 'Bob' (length=3) 
    2 => 
    array (size=1) 
     0 => 
     object(stdClass)[502] 
      public 'id' => int 1 
      public 'first_name' => string 'Shag' (length=4) 
      public 'last_name' => string 'Well' (length=4) 

을 내가 $data2 같은 것을 얻기 위해, 세 개의 무작위 항목 중 두 가지를 취할 수 있도록 내가 잘라 방법은 다음과 같습니다

array (size=2) 
    0 => 
    array (size=1) 
     0 => 
     object(stdClass)[500] 
      public 'id' => int 2 
      public 'first_name' => string 'Mary' (length=4) 
      public 'last_name' => string 'Sweet' (length=5) 
    1 => 
    array (size=1) 
     0 => 
     object(stdClass)[502] 
      public 'id' => int 1 
      public 'first_name' => string 'Shag' (length=4) 
      public 'last_name' => string 'Well' (length=4) 

도움을 주셔서 감사합니다.

답변

3

array_rand()을 사용하십시오.

$randkeys = array_rand($data, 2); 
$data2 = array($data[$randkeys[0]], $data[$randkeys[1]]); 

See demo

: 당신은 여기에 당신이 무엇을하고 있는지에 따라 더 정교한 얻을 수 있지만, 수하는 기본적인 생각이다
관련 문제