php dizi çıktı sorunu

2 Cevap php

Php artırmak için bir işlevi var

daha sonraki değerler değerleri iki kez (x 2), bir dizideki

Kolon bir başlangıç ​​değerine göre?

$beta = array(
array('5', '1''1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1'),
array('5','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2'),
array('5','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2'),
array('5','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2'),
array('5','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2'),
array('5','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2'),
array('5','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2'),
array('5','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2'),
array('5','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2'),
array('5','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2','2')

);

/*Example: '5' will be '10' (5*2 =10 and output 10 to web)
         '2' will be '4'  (2*2 = 4 and output 4 to web)
The next '2' will be '16' (4*2 = 8 and output 8 to web)
The next '2' will be '32' (8*2 = 16 and output 16 to web)
And so forth? */

Ben sıkıca yapı bakımından çok komplike bir şey böyle bir çaylak tekrar, bunu anlamak olmaz teşekkür yoktur, ama inan neden Üstelik bu dizi oluşturmak için daha kolay bir yolu vardır.

[Yasal Uyarı: Ben dizileri anlamaya çalışırken 3 gün geçirdim, ben şimdi onları anlamak; Ancak, ben hala yeni ve ben sadece, ben hala okudum ve bu yüzden lütfen hiçbir Flamers öğrenecek çok şey var eminim web.And benim dizi ve çıkış onları değerleri işlemek için çalışırken şu anda bazı sorunlar yaşıyorum biraz yardıma ihtiyacım var, bu C + + kitabında bu sorunu bulundu:

[http://books.google.com/books?id=4Fn%5FP7tdOZgC&pg=PT424&lpg=PT424&dq=subsequent+++column+is+twice+the+value&source=bl&ots=gSvQ%5FLhxoI&sig=dG%5FIlf1iLO86lqX936cT1PpkPc8&hl=en&ei=OEEBS%5FeODYyotgOFtJD3CQ&sa=X&oi=book%5Fresult&ct=result&resnum=1&ved=0CAgQ6AEwAA#v=onepage&q=subsequent%20%20%20column%20is%20twice%20the%20value&f=false%5D%5B1%5D

2 Cevap

İşte her sorunun kitabın bu bölümünde, zevk için bir cevap!

<?php

// Declare an array alpha of 10 rows and 20 columns of type int
// Initialise the array alpha to 0
$alpha = array(array());
for($i = 0; $i < 10; $i++)
{
    for($j = 0; $j < 20; $j++)
    {
        $alpha[$i][$j] = 0;
    }
}

// Store 1 in the first row and 2 in the remaining rows
for($i = 0; $i < 10; $i++)
{
    for($j = 0; $j < 20; $j++)
    {
        if($i == 0)
        {
            $alpha[$i][$j] = 1;
        }
        else
        {
            $alpha[$i][$j] = 2;
        }
    }
}

// Store 5 in the first column, and make sure that the value in
// each subsequent column is twice the value in the previous column
// (Beware this doesn't build off the initial value of 5 in the first
// column but the previously set values above)
for($i = 0; $i < 10; $i++)
{
    for($j = 0; $j < 20; $j++)
    {
        if($j == 0)
        {
            $alpha[$i][$j] = 5;
        }
        else
        {
            if($j - 1 >= 1)
            {
                $alpha[$i][$j] = $alpha[$i][$j-1] * 2;
            }
        }
    }
}

// Print the array alpha one row per line
print "Printing the array alpha one row per line:<br/>";
for($i = 0; $i < 10; $i++)
{
    for($j = 0; $j < 20; $j++)
    {
        print "[". $alpha[$i][$j] ."] ";
    }

    print "<br/>";
}

print "<br/>";

// Print the array alpha one column per line
print "Printing the array alpha one column per line:<br/>";
for($j = 0; $j < 20; $j++)
{
    for($i = 0; $i < 10; $i++)
    {
        print "[". $alpha[$i][$j] ."] ";
    }

    print "<br/>";
}

?>

Sen deneyebilirsiniz array_map:

<?php
function increase($n) {
     return is_array($n) ? array_map('increase', $n) : $n * 2;
}

$new_beta = array_map("increase", $beta);

Dizi inşa gelince, orada bunu yapmak için başka yöntemler vardır ama bu en performent ve temiz olduğuna inanıyorum.