2017-01-12 5 views
2

나는 내 배열은 2 개 인덱스 0과 1 내가 그것을 이러한 인덱스에서 임의로 선택해야 호출 할 때 내가 원하는에 배열 한 여기 랜덤 배열 (laravel 5.3)

'schools' => [ 
    'records' => [ 
     'students' => [ 
      'add' => [ 
      'text 1', 
      'text 2' 
      ], 
     ], 
    ], 
], 

내 배열

trans('app.schools.records.students.add') 

그것의 지금은 모두 텍스트 1, 텍스트를 선택한다 2 그래서 내가

{{gettitles(trans('app.schools.records.students.add'))}} 
로 도우미에 2 내 방법을 통과 그것의 항상 데리러
function gettitles ($array){ 
    $rand_keys = array_rand($array, 2); 
    echo $array[$rand_keys[0]] . "\n"; 
    echo $array[$rand_keys[1]] . "\n"; 
} 

내 가져 오기 gettitles 방법은 보이는 두 인덱스 i 0 유일한 IST 텍스트 ... 에코하지만 난 2 를 해결하기 위해 제발 도와주세요 모두 텍스트 1, 텍스트에서 임의로 하나를 원하는 경우 그것은 감사

답변

1
$rand_keys = array_rand($array, 2); 

당신은이 개 요소를 반환 그것을 말하는 것입니다. 2는 반환 할 임의 요소의 수입니다. 1.

$rand_keys = array_rand($array, 1); 

http://php.net/manual/en/function.array-rand.php

에 변경이 코드는 테스트 및 작동합니다 :

$myArray = array("test 1", "test2"); 

gettitles($myArray); 

function gettitles ($array){ 
    $rand_keys = array_rand($array, 1); 
    echo $array[$rand_keys] . "\n"; 
} 

기능은 임의의 요소에 array_rand 반환 키를 사용하여 선택하고 요소 자체의 내용이 아닙니다.

+0

는 그때 $ rand_keys 에코 에코 경우 미정 인덱스 –

+0

는 그것이 소자 키를 반환 배열 0 또는 1되지 값 ​​ –

+0

의 임의의 인덱스를 제공 말한다 . 거기에서 키를 사용하여 데이터를 가져와야합니다. – Dave

1

array_rand function 은 배열에서 하나 이상의 임의 항목을 선택하고 임의 항목의 키 (들)를 반환합니다. 암호화 목적에 적합하지 않은 의사 난수 생성기를 사용합니다. 그래서, 대신 패스 2의 1

function gettitles ($array){ 
    shuffle($array); 
    $rand_keys= array_values($array); 
    echo $array[$rand_keys[0]] . "\n"; 
    echo $array[$rand_keys[1]] . "\n"; 
} 

이 작동합니다.

편집

그리고 그것은 작동합니다 array_valuesshuffle 기능의 사용 콤보.

function gettitles ($array){ 
    shuffle($array); 
    $rand_keys= array_values($array); 
    echo $array[$rand_keys[0]] . "\n"; 
    echo $array[$rand_keys[1]] . "\n"; 
} 

이와 같이 EDIT 2

function gettitles ($array){ 
    shuffle($array); 
    $rand_keys= array_values($array); 
    echo $rand_keys[0] . "\n"; 
    echo $rand_keys[1] . "\n"; 
} 
+0

처럼 정의되지 않은 인덱스라고합니다. 내가 에코 후 $ rand_keys를 에코하면 그 값이 아닌 배열 0 또는 1의 임의의 인덱스를 제공합니다 –

+0

내 편집 부분을 확인하십시오 – rahulsm

+0

오류가있는 임의의 텍스트를 제공합니다 undefined index.text 1 또는 몇 번 정의되지 않은 인덱스 : 텍스트 2 –