2015-11-19 2 views
-3

Я пытаюсь выяснить, как я могу изменить часть имени массива динамически в пределах foreach.Dyanmic array name

У меня есть переменная $i, которая увеличивается на каждом цикле. В пределах цикла я хочу изменить X из ['new_row_X'] на то, что равно $i. Так, например:

$i = '10'; 

foreach($order->items as $item) { 

    $data['field_id_185']['rows']['new_row_10']['col_id_25'] = 'Entry ID'; 

    $i++ 

} 

ИЛИ

$i = '5'; 

foreach($order->items as $item) { 

    $data['field_id_185']['rows']['new_row_5']['col_id_25'] = 'Entry ID'; 

    $i++ 

} 

ответ

4

Просто сцепить индекс:

<?php 
$i=0; 
foreach($order -> items as $item) { 
    $data['field_id_185']['row']['new_row_'.$i]['col_id_25'] = 'Entry ID'; 
    $i++; 
} 
0
$i = '10'; 

foreach($order->items as $item) { 
    foreach($data['field_id_185']['rows'] as $key=>$value) { 
     if (preg_match('/^new_row_.+$/', $key)) { 
      $data['field_id_185']['rows']["new_row_$ii"] = $value; 
      unset($data['field_id_185']['rows'][$key]); 
     } 
    } 
    $i++; 
} 
Смежные вопросы