php 字符串索引值,PHP:字符串索引不一致?
我創(chuàng)建了一個函數(shù),該函數(shù)從硬編碼的單詞列表中隨機生成一個短語.我有一個函數(shù)get_words(),該函數(shù)具有一串硬編碼的單詞,將其轉(zhuǎn)換成一個數(shù)組,然后重新排列并返回.
get_words()由generate_random_phrase()調(diào)用,它會反復(fù)遍歷get_words()n次,并且在每次迭代時,將n個單詞連接到最終的短語中,該短語最終將返回給用戶.
我的問題是,由于某種原因,PHP一直給我不一致的結(jié)果.它的確給了我一些隨機的單詞,但給出的單詞數(shù)量卻不一致.我將4個單詞指定為默認單詞,它給我的短語是1-4個單詞,而不是4個單詞.該程序非常簡單,幾乎難以置信,我無法查明確切的問題.似乎鏈中斷開的鏈接是正在索引的$words數(shù)組,似乎由于某種原因有時索引編制失敗.我不熟悉PHP,有人可以向我解釋嗎?
function generate_random_phrase() {
$words = get_words();
$number_of_words = get_word_count();
$phrase = "";
$symbols = "!@#$%^&*()";
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;
}
?>
解決方法:
在$BASE_WORDS中,選項卡和換行符在爆炸數(shù)組中占據(jù)了空間,這就是原因.刪除換行符和選項卡,它將生成正確的答案.即:
$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";
標(biāo)簽:arrays,php
來源: https://codeday.me/bug/20191029/1957295.html
總結(jié)
以上是生活随笔為你收集整理的php 字符串索引值,PHP:字符串索引不一致?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微店怎么注册开店流程(汉典微字的基本解释
- 下一篇: 盛事通app如何注销