1

次の出力を使用してプログラムを作成します。

a 00000000
b 00000000
c 00000X00
d 00000000
e 00000000
f 000X0000
g 00000000
h 00000X00
12345678

ユーザーは、プログラムの最初に 2 次元配列を入力します。このシーケンス (座標) に基づいて、テーブルに X が描かれます。

条件: 配列とループを使用する必要があります。

私は 18 歳で、2 週間前に php を学び始めました。このタスクに問題があります。誰でも私を助けることができますか?ありがとう!

ごめん!

これは私がやったことです:

<?php
$input = array(2 => array(5),5 => array(3),7 => array(6));
$range = array('a','b','c','d','e','f','g','h');
$length = 8;

$output = '';
foreach($range as $index => $letter)
{
$output .= "$letter ";

for($i = 0; $i < $length; ++$i)
{
$output .= (array_key_exists($index, $input) && in_array($i, $input[$index])) ? 'X' : '0';
}

$output .= "\n";
}

echo $output;
?>

私はこの出力を得ました:

a 00000000
b 00000000
c 00000X00
d 00000000
e 00000000
f 000X0000
g 00000000
h 000000X0

これの代わりに:

a 00000000
b 00000000
c 00000X00
d 00000000
e 00000000
f 000X0000
g 00000000
h 00000X00
12345678

私はどこで間違いを犯していますか?

4

2 に答える 2

0
<?php
$input = array(2 => array(5),5 => array(3),7 => array(5));
$range = array('a','b','c','d','e','f','g','h');
$length = 8;

$output = '';
$x='';
foreach($range as $index => $letter)
{
    $output .= "$letter ";
    for($i = 0; $i < $length; ++$i)
    {
        $output .= (array_key_exists($index, $input) && in_array($i, $input[$index])) ? 'X' : '0';
    }

    $output .= "\n";
    $x.= 1+$index;
}

$output .= $x;
echo $output;

?>

これは出力されます

a 00000000
b 00000000
c 00000X00
d 00000000
e 00000000
f 000X0000
g 00000000
h 00000X00
12345678
于 2016-03-16T04:35:11.017 に答える