ФорумПрограммированиеPHP для идиотов → Умножение массивов.

Умножение массивов.

  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 8 июля 2009 г. 12:45, спустя 4 минуты 47 секунд

    smv, приведи код полность, покажи как объявляешь $arr1, $arr2… покажи как выводишь $result
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • smv

    Сообщения: 236 Репутация: N Группа: Кто попало

    Spritz 8 июля 2009 г. 13:00, спустя 15 минут 31 секунду

    $basket = mysql_query("SELECT * FROM catalogue WHERE id IN ($st)", $db);
    $m = 0;
    while ($basket_1 = @mysql_fetch_assoc($basket)) {

    echo ' <table width="780" border="0" cellspacing="0" cellpadding="0" class="text">
    <tr>
    <td width="37"><input type="checkbox" name="pos99[]" id="" value="'.$basket_1["id"].'"/></td>
    <td width="593">'.$basket_1["product_name"].'</td>
    <td width="50"><input type="text" name="a['.$m++.']" class="basket_num"/></td>
    <td width="100"><input type="text" name="b[]" value = "'.$basket_1["landed_price"].'"/></td>

    </tr>
    </table>';

    }


    Первый массив ($a) - количество товара.
    Второй массив ($b) - цена товара. берется из БД.

    // Проверка

    // Массив - количество товара (для каждой позиции)
    print_r($a);
    print_r($b);


    выводится следующее:

    Array ( [0] => 1 [1] => 1 )
    Array ( [0] => 8600 [1] => 11600 )

    это и есть те два массива преднозначяенные для перемножения.

    // Умножение массивов
    for($i = 0; $i < sizeof($a); $i++)
    {
    $result=$a[$i]*$b[$i];
    print_r ($result);
    }


    Выводится: 860011600
    А нужно:Array ( [0] => 8600 [1] => 11600 )

  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 8 июля 2009 г. 13:10, спустя 9 минут 39 секунд

    Сделай так:


    $result = array();

    for($i = 0; $i < sizeof($a); $i++)
    {
    $result[$i] = $a[$i] * $b[$i];
    }

    print_r ($result);
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • smv

    Сообщения: 236 Репутация: N Группа: Кто попало

    Spritz 8 июля 2009 г. 13:16, спустя 6 минут 16 секунд

    спасибо большое
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz 8 июля 2009 г. 13:20, спустя 4 минуты 3 секунды


    1. Array ([0]=>2 [1]=>3)
    2. Array ([0]=>500 [1]=>1200)

    Мне надо чтоб на выходе было

    3. Array ([0]=>1000 [1]=>3800)

    А в решении


    for($i = 0; $i < sizeof($arr1),$i++)
    {
    $result=$arr1[$i]*$arr2[$i];
    }



    на выходе Array ([0]=>500) Array([0]=>1200)
    ну бля ошибся немного :)
    for($i = 0; $i < sizeof($arr1),$i++)
    {
    $result[$i]=$arr1[$i]*$arr2[$i];
    }

Пожалуйста, авторизуйтесь, чтобы написать комментарий!