`私は計算を言うことができます。私がしたいことは、結果を計算する関数でいくつかのループを実行することです。時には、この関数はループに詰まってしまうので失敗するので、ivはループを終了するためにそれをカバーしましたが、私の問題はこの関数を再起動したいと思います。 。平均して要求には20のうちの約1の結果がありません。私は清潔なスレートから機能を再開する必要があります。PHPきれいな状態から関数を再利用する方法
私はout success.pleaseでプロセスを再実行する前にすべてのバールを解除しようとしましたが、この機能はプロセスに渡された情報から時々失敗しますので避けられません。 これは私がちょうど自動的に結果を生成する関数です。
http://www.gamezslave.com/test/DynamicSlots.swfこれは私の試作プロトタイプです。 この要素のためにエラーが発生することがあります。
<?php
$checker = 0; // if i cant get a result i could use this will tick up until condition
function shuffleArray($myArray) {
$value_count = array_count_values($myArray);
$last_value = $myArray[count($myArray) - 1];
unset($myArray[count($myArray) - 1]);
$shuffle = array();
$last = false;
while (count($myArray) > 0) {
$keys = array_keys($myArray);
$i = round(rand(0, count($keys) - 1));
while ($last === $myArray[$keys[$i]]) {
$i = round(rand(0, count($keys) - 1));
echo "stuck";
$checker++;
if($checker>10){
echo " Too many checks so die, and restart process ";
return false;
bob; // this is the check function to goto and restart
}
}
$shuffle[] = $myArray[$keys[$i]];
$last = $myArray[$keys[$i]];
unset($myArray[$keys[$i]]);
}
if ($last_value === $last) {
$i = 0;
foreach($shuffle as $key=>$value) {
if ($value !== $last_value) {
$i = $key;
break;
}
}
array_slice($shuffle, $i + 1, 0, $last_value);
} else {
$shuffle[] = $last_value;
}
return $shuffle;
}
print_r(shuffleArray(array(1,5,5,3,7,7,7,7))); // just a example
function bob(){
if($checker>10){
$checker = 0;
shuffleArray();
echo "bob";
reset($myArray); // thought this may clean/reset the array i couldnt use
}
}
このシャッフルは、同一のどの2つのシンボルelemtsが互いに隣時にはアレイの終わりに、そのシャッフリングを無作為不良確率(リンゴ、オレンジ、オレンジと左イムようになることを返し考え、オレンジ)ので、私は何をする必要があるので、最初からこのプロセスを再開することです。配列に約10の異なるアイテムがあり、それぞれ10個のリンゴ、10個のオレンジ、4個のバナナ、3個のブドウが重複している場合があります。私は配列の最後に同じ項目のあまりにも多くのあまりにも貼って、私はスクリプトを再実行する必要があります(そして、このビットは問題です)私はどのように知っている。
こんにちは、私たちがあなたを助けることができるようにあなたのコードを投稿しますか?上記のコード –
、whats goin onのリンクもあります...ありがとう – joshua