クエリを実行し、fetchAll()
$query = "SELECT uid, kill_count FROM users WHERE curmid=:mid AND status='1'";
...
$row = $stmt->fetchAll();
この配列を返します:
Array (
[0] => Array ( [uid] => 105 [fcount] => 1 )
[1] => Array ( [uid] => 106 [fcount] => 2 )
[2] => Array ( [uid] => 107 [fcount] => 0 )
[3] => Array ( [uid] => 108 [fcount] => 1 )
[4] => Array ( [uid] => 109 [fcount] => 1 )
)
基本的に実行したいループがあります:
$problist = array();
foreach ($row as $key => $value) {
if ($value == 0) {
array_push($problist, $key, $key, $key, $key, $key);
} elseif ($value == 1) {
array_push($problist, $key, $key, $key);
} elseif ($value >= 2) {
$problist[] = $key;
}
}
もちろん、そのループは配列内の適切な値を参照していないため機能しません。この仮説では、私が探している出力は次のとおりです。 $problist =
array(15) {
[0]=> string(3) "105"
[1]=> string(3) "105"
[2]=> string(3) "105"
[3]=> string(3) "106"
[4]=> string(3) "107"
[5]=> string(3) "107"
[6]=> string(3) "107"
[7]=> string(3) "107"
[8]=> string(3) "107"
[9]=> string(3) "108"
[10]=> string(3) "108"
[11]=> string(3) "108"
[12]=> string(3) "109"
[13]=> string(3) "109"
[14]=> string(3) "109"
}
私は読んでいじりましたが、読んでいじりましたが、これを機能させるためにどのphp関数を使用すればよいかわかりません。end()
、reset()
、 、およびその他を試しましarray_shift()
た。私の無知のために、それらを正しく使用していなかった可能性は確かにあります。助けてくれてありがとう。
[おそらく、クエリをフォーマットするより良い方法はありますか?]