該腳本挑選數組內的元素並將其打印出來。更好的解決方案?
<?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
可變我的腳本檢索和從元素列表中刪除 例如:
$字=陣列( 「THE」, 「快」, 「棕色」, 「FOX」 ,「JUMPS」);
$ sentence = array(「QUICK」,「BROWN」);
$ input = array_diff($ word,$ sentence);
所以$input
是包含array("THE", "FOX", "JUMPS");
對不對?
,我申請到腳本像這樣:
<?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]];
?>
它也適用,因爲它包含在陣列上3個元素。如果我做更多的過濾和
$輸入
變量只包含一個元素比如:$input
只包含array("BROWN");
腳本將不再運行,並得到這樣的錯誤:
警告:array_rand():第二個參數必須在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