0

次のような配列を作成する必要があります。

$array = array(array(1,1,1,0,0,0,1,1), array(1,1,1,1,0,0,1,0));

ただし、すべての組み合わせは 1 と 0 です。

これを自動的に行いたいので、for ループが最適だと考えていました。つまり、内側の配列は、0,0,0,0,0,0,0,0、0,0,0,0,0,0,0,1、0,0,0,0 のようなすべての組み合わせにする必要があります。 ,0,0,1,0 次に 0,0,0,0,0,0,1,1. すべてのコンボに。私はこのように始めました:

$array = array();
for($i =0;$i<100; $i++){
$array[$i] = 0;
}

私がやろうとしていることを行うにはどうすればよいですか?

4

2 に答える 2

2

decbinカウンターをバイナリに変換するために使用します。

str_pad文字列をパディングできます。この場合、8 ビットの長さに 0 でパディングします。

$array = array();
for($i =0;$i<100; $i++){
    $array[$i] = str_pad(decbin($i), 8, "0", STR_PAD_LEFT);;
}
var_dump($array);

デモ

于 2013-03-09T06:37:51.357 に答える
1

これにより、すべてのバイナリ バリエーションの配列が、それぞれが独自の文字配列内にある場所から出力00000000されます。11111111

$array = array();

for ($i = 0; $i < 256;)
{
    $array[] = str_split(sprintf('%08d', decbin($i++)));
}
print_r($array);

を見る

于 2013-03-09T07:17:22.133 に答える