0

わかりました。情報を保持するゲーム サーバーのサーバー クエリからの配列があります。現在のプレイヤー数を示す進行状況バーを作成しました。このプログレスバーのパーセンテージは次のように計算されます

<span style="width: ' . $data['gq_numplayers'] / $data['gq_maxplayers'] * 100 . '%;"></span>

ここで、サーバーがオフラインの場合、配列が空で除算が 0/0 になり、エラーが発生するため、問題が発生します。これを回避/解決するにはどうすればよいですか?

4

7 に答える 7

1

0値を変更する代わりに、計算を実行する前に分母が正しいかどうかを確認してください。である場合は0、パーセンテージを として表示し0%ます。分母が0予期しない状態である場合は、エラー メッセージを表示するか、データが利用できないことを伝える必要があります。例えば:

$percentage = 0;
if ($data['gq_maxplayers'] > 0) {
   $percentage = ($data['gq_numplayers'] / $data['gq_maxplayers']) * 100;
}

echo '<span style="width: ' . $percentage . '%;"></span>";
于 2013-05-13T17:58:41.333 に答える
1

データが空でないかどうかを確認する if を追加できます。array_key_exists('gq_numplayers', $data)サーバーに問題があるかどうかを確認するために使用できます。

問題がある場合は、必要なメッセージを表示できます。以下はコードサンプルです。

if (array_key_exists('gq_numplayers', $data)) {
    <span style="width: ' . $data['gq_numplayers'] / $data['gq_maxplayers'] * 100 . '%;"></span>
}
else {
    // Do whatever you want.
}

于 2013-05-13T17:56:05.627 に答える