инкрементная переменная ПОСЛЕ каждого цикла foreach

У меня есть для каждого цикла для импорта некоторых данных CSV. Мне нужно увеличить $ я после того, как весь цикл выполняется на каждой строке данных.

Данные собираются, просто 9 столбцов, а тестовый файл — только 2 строки, но файл prod — 500 строк.

ID,LastName,FirstName,Add1,City,State,__ZipCode__,Phone,Email
11,lastnamevalue,firstnamevalue,addressvalue,cityvalue,MA,zip,6phone,email value
11,lastnamevalue2,firstnamevalue2,addressvalue2,cityvalue2,MA,zip2,6phone2,email value2

Петля информация

$i=0;
foreach ( $meta as $key => $value) {

// If custom filed name is "textfield"if ($key == 'FirstName') {
$meta_array[0]['members_'.$i.'_first_name'] = $value;
$meta_array[1]['_members_'.$i.'_first_name'] = 'field_53eac4161a811';

} elseif ($key == 'LastName') {
$meta_array[0]['members_'.$i.'_last_name'] = $value;
$meta_array[1]['_members_'.$i.'_last_name'] = 'field_53eac4291a812';

} elseif ($key == 'Add1') {
$meta_array[0]['members_'.$i.'_street'] = $value;
$meta_array[1]['_members_'.$i.'_street'] = 'field_53eb96fc5d7da';

} elseif ($key == 'City') {
$meta_array[0]['members_'.$i.'_city'] = $value;
$meta_array[1]['_members_'.$i.'_city'] = 'field_53eb97335d7dc';

} elseif ($key == 'State') {
$meta_array[0]['members_'.$i.'_state'] = $value;
$meta_array[1]['_members_'.$i.'_state'] = 'field_5421e190161b0';

} elseif ($key == '__ZipCode__') {
$meta_array[0]['members_'.$i.'_zip_code'] = $value;
$meta_array[1]['_members_'.$i.'_zip_code'] = 'field_5421e1acc0d65';

} elseif ($key == 'Phone') {
$meta_array[0]['members_'.$i.'_phone'] = $value;
$meta_array[1]['_members_'.$i.'_phone'] = 'field_53ebb3419d355';

} elseif ($key == 'Email') {
$meta_array[0]['members_'.$i.'_email'] = $value;
$meta_array[1]['_members_'.$i.'_email'] = 'field_5421e1b4c0d66';

// Create array data to import to the Repeater Field
}  else {
$meta_array[$key] = $value;
}

}

Поэтому мне нужно, чтобы $ i равнялся 0 для каждого из этих операторов if, а затем, когда он попадает к последнему электронному письму, он должен увеличиваться до 1 и оставаться равным 1 для каждого из остальных операторов if, до последнего, а затем увеличиваться до 2 .. и так далее, и так далее …

я думаю, что мне нужно посчитать остальное, если или что-то, но я ужасен с циклами, и я могу либо получить его всегда 0 или увеличить на 1 в каждой строке, так что в итоге это будет имя 1 имя 2 имя и т. д.

ОБНОВЛЕНИЕ: это для плагина WordPress, который импортирует данные CSV … CSV устанавливается как имя, фамилия, бла-бла … каждое значение устанавливается в качестве его фактического значения, а затем еще одно устанавливается с этим «field_53eac4161a811» или любым другим его … так что каждый другой вводит две строки в базу данных. который работает нормально .. (массив получается, когда вся информация совпадает, но $ i всегда либо 0, либо увеличивается для каждого ключа / значения, а не только один раз за цикл). за исключением того, что он перезаписывает предыдущий, потому что переменная $ i является единственным маркером, который изменяется для каждой строки данных CSV … не уверен, помогает ли это вообще объяснить.

ниже то, что должно получиться … и это происходит, за исключением случаев, когда файл анализирует следующую строку данных CSV, он также выходит с 0 0 0 0 0 0 вместо 1 1 1 1 1 1

    Array
(
[0] => Array
(
[members_0_last_name] => name value
[members_0_first_name] => first name value
[members_0_street] => street value
[members_0_city] => city value
[members_0_state] => state
[members_0_zip_code] => zip
[members_0_phone] => phone
[members_0_email] => email
)

[1] => Array
(
[_members_0_last_name] => field_53eac4291a812
[_members_0_first_name] => field_53eac4161a811
[_members_0_street] => field_53eb96fc5d7da
[_members_0_city] => field_53eb97335d7dc
[_members_0_state] => field_5421e190161b0
[_members_0_zip_code] => field_5421e1acc0d65
[_members_0_phone] => field_53ebb3419d355
[_members_0_email] => field_5421e1b4c0d66
)

[field_53eac3eb1a810] => Array
(
)

)

0

Решение

Разве вы не будете поражать каждый из них, если только один раз? Вы можете просто поместить приращение в свой последний блок else.

-1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector