2013-05-17 2 views
-1

Мне нужно реализовать двумерный массив в PHP. Правильно ли это сделать?Внедрение двумерного массива

$constr = array(); 

    for ($i = 0; $i < $size; $i++) 
    { 
     for ($j=0; $j < $ncons; $j++) { 
     $constr[$i][$j] = $set->getInd($i)->getConstr($j); 
     } 
    } 
+0

определить «правильный путь» :) –

+0

Кажется, мне хорошо. Вы где-то застряли? Какой результат вы получаете и каков ваш ожидаемый результат? – Rikesh

+0

Да ............. – itachi

ответ

5

код, как у вас есть это хорошо, но так как вы используете объекты, то лучше кэшировать их внутри внешнего контура:

$constr = array(); 

for ($i = 0; $i < $size; $i++) { 

    $ind = $set->getInd($i); 

    for ($j=0; $j < $ncons; $j++) { 
     $constr[$i][$j] = $ind->getConstr($j); 
    } 
} 

В этом случае, вы не повторять $set->getInd($i) для внутреннего контура.

+0

Я предполагаю, что тип переменной 'Set' должен реализовывать' Iterator' (при условии, что это набор объектов). – Leri

+0

@PLB Наличие итератора определенно упростит код, но эта часть кода, к сожалению, не разделена ;-) –