0

いくつかの変数に従って値が繰り返される配列を作成しようとしています。このシナリオでは: $slipszero = "2"&$slipsone = "1"であり、これらの値は変更される可能性があります。
これは今のところ私のコードです:

$problist = array();
    foreach ($rows as $value) {
        if ($value['f_count'] == 0) {
            $placeholder = rtrim(str_repeat($value["uid"] . ',', $slipszero), ', ') ;
            array_push($problist, $placeholder);
            // The above array_push should act just like:
            array_push($problist, $value['uid'], $value['uid']);
        } elseif ($value['f_count'] == 1) {
            $placeholder = rtrim(str_repeat($value["uid"] . ',', $slipsone), ', ') ;
            array_push($problist, $placeholder);
        } elseif ($value['f_count'] >= 2) {
            $problist[] = $value['uid'];
        }
    }

したがって、この配列から始めます。

Array ( 
 [0] => Array ( [uid] => 105 [f_count] => 0 ) 
 [1] => Array ( [uid] => 106 [f_count] => 1 ) 
 [2] => Array ( [uid] => 107 [f_count] => 0 ) 
 [3] => Array ( [uid] => 108 [f_count] => 1 ) 
 [4] => Array ( [uid] => 109 [f_count] => 2 ) 
)  

私はこの配列で終わりたいです:

array(15) { 
[0] => string(3) "105" 
[1] => string(3) "105" 
[2] => string(3) "106" 
[3] => string(3) "107" 
[4] => string(3) "107" 
[5] => string(3) "108" 
[6] => string(3) "109"
}  

代わりに、私はこれを得ています:

Array ( 
[0] => 105,105 
[1] => 106 
[2] => 107,107 
[3] => 108
[4] => 109
)

新生児の世話をしていて頭が痛くなりました。何が悪いのか理解できません。

4

2 に答える 2

0

これを使って

$problist = array();
    foreach ($rows as $value) {
        if ($value['f_count'] == 0) {
            for($i=0;$i<$slipszero;$i++)
                array_push($problist, $value["uid"];);

        } elseif ($value['f_count'] == 1) {
            for($i=0;$i<$slipsone;$i++)
               array_push($problist, $value["uid"];);
        } elseif ($value['f_count'] >= 2) {
            $problist[] = $value['uid'];
        }
    }
于 2013-04-23T17:24:07.277 に答える