0

したがって、支払いと日付の 2 つの列を持つ 2 次元配列があります。問題は、支払いが毎日行われたわけではないため、私の配列には支払いが行われた特定の日のみが含まれていることです。

支払い------ 日

13000----------- 3

2500------------- 4

6700 ------------ 8

したがって、支払いが行われなかった場合は、最初の日からarray[0] = 0;. 私はin_array具体的に毎日を探すために使用することを考えました:

for ($i=1; $i <=31 ; $i++) { 
    if(in_array($i, $payments))
}

しかし、日が見つかったとしても、その特定の列の array['payment'] フィールドにアクセスするにはどうすればよいでしょうか?

4

3 に答える 3

1

キーを返すことを除いて、array_search()which を使用するのはどうですか?in_array()

for ($i=1; $i <=31 ; $i++) { 
    $row = array_search($i, $payments);
    if($row !== FALSE) {
        //Do something with $payments[$row]['payment']
    }
}

配列構造を誤解している場合は教えてください。

于 2013-10-01T02:03:11.590 に答える
0

次の方法でクエリから配列を作成します。

$payments = array();
while ($row = $stmt->fetch_assoc()) {
    $payments[$row['day']] = $row['payment'];
}

次にisset($payments[$i])、特定の日に支払いがあるかどうかを確認するために使用できます。

于 2013-10-01T02:11:36.470 に答える