하드 코딩 된 단어 목록에서 임의로 구문을 생성하는 함수를 만들었습니다. 함수를 get_words()
하드 코드 된 단어 문자열을 다음 배열을 차례로 셔플 및 반환합니다.PHP : 문자열 인덱싱 불일치?
get_words()
는 generate_random_phrase()
의해 호출되는 get_words()
n 회를 반복하고, 모든 반복들이 사용자에게 리턴 될 운명 최종 구문에 해당 단어에 연접.
제 문제는, PHP가 일관성없는 결과를 계속 제공한다는 것입니다. 그것은 나에게 무작위로 주어진 단어를 주지만 일관성없는 단어 수를줍니다. 4 단어를 기본값으로 지정하고 4 단어 대신 1-4 단어 사이의 구문을 제공합니다.이 프로그램은 매우 간단하므로 정확한 문제를 정확하게 지적 할 수 없습니다. 체인의 끊어진 링크가 색인되는 $words
배열 인 것 같습니다. 어떤 이유로 색인 생성이 실패하는 것처럼 보입니다. 나는 PHP에 익숙하지 않다. 누군가 나에게 설명 할 수 있을까? 당신은 또한 배열 내부 공간을 포함하기 때문에
<?php
function generate_random_phrase() {
$words = get_words();
$number_of_words = get_word_count();
$phrase = "";
$symbols = "[email protected]#$%^&*()";
echo print_r($phrase);
for ($i = 0;$i < $number_of_words;$i++) {
$phrase .= " ".$words[$i];
}
if (isset($_POST['include_numbers']))
$phrase = $phrase.rand(0, 9);
if (isset($_POST['include_symbols']))
$phrase = $phrase.$symbols[rand(0, 9)];
return $phrase;
}
function get_word_count() {
if ($_POST['word_count'] < 1 || $_POST['word_count'] > 9)
$word_count = 4; #default
else
$word_count = $_POST['word_count'];
return $word_count;
}
function get_words() {
$BASE_WORDS = "my sentence really hope you
like narwhales bacon at midnight but only
ferver where can paper laptops spoon door knobs
head phones watches barbeque not say";
$words = explode(' ', $BASE_WORDS);
shuffle($words);
return $words;
}
?>
와우, 당신의 천재 : 여기
은 수정입니다! 감사 –