이 스크립트는 배열 내부의 요소를 선택하여 인쇄합니다.더 나은 솔루션?
<?php
$word = array("THE", "QUICK", "BROWN", "FOX", "JUMPS");
$rand_keys = array_rand($word, 2);
echo $word[$rand_keys[0]];
echo $word[$rand_keys[1]];
?>
작동하지만 난
array_diff() 일부 기능을 사용하고 있습니다; 요소 목록에서 예를 제거
$word
변수에서 내 스크립트 검색에와
:
$ 단어 = 배열 ("를", "QUICK", "BROWN", "FOX" , "점프");
$ sentence = array ("QUICK", "BROWN");
$ input = array_diff ($ word, $ sentence);
그래서 $input
에는 array("THE", "FOX", "JUMPS");
이 포함되어 있습니까?
와 나는 이와 같은 스크립트에 적용이 배열에 3 요소가 포함되어 있기 때문에
<?php
$word = array("THE", "QUICK", "BROWN", "FOX", "JUMPS");
$sentence = array("QUICK", "BROWN");
$input = array_diff($word, $sentence);
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]];
echo $input[$rand_keys[1]];
?>
그것은 또한 작동합니다. 내가 더 많은 일을 할 경우 필터링과
$ 입력
변수는 한 요소의 예를 포함
:에서 어떻게 스크립트를 실행할 수 있습니까?$input
는 스크립트가 더 이상 실행하고 점점 오류 좋아하지 않을array("BROWN");
포함경고 : array_rand() : 두 번째 인수는 1과 배열의 요소 수 사이 여야합니다.
공지 사항 : 정의되지 않은 인덱스 :
공지 사항에서 : 정의되지 않은 인덱스 : 배열 요소는 1 포함 된 경우
나는 지금까지이 방법을 사용해 왔지만 더 나은 해결책이 있습니까?
<?php
$word = array("THE", "QUICK", "BROWN", "FOX", "JUMPS");
if(count($input) >= 2)
{
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
}
else
{
echo end($input);
}
?>
이 스크립트의 목표는 무엇입니까? 즉 최종 산출물은 무엇입니까? 길이 1의 배열에서 임의의 키를 선택하려고 시도하는 것은 실제로 의미가 없습니다. – cori
최종 출력은 스크립트가 실행될 때 스크립트가 실행될 때처럼 1 요소 만 포함합니다. 마지막 요소는 오류가 표시되지 않습니다. – Destiny