我为每个循环导入了一些csv数据。在整个循环在数据的每个ROW上运行后,我需要增加$ i。
数据去,简单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在其他if语句之前等于0,然后当它到达最后一封电子邮件时,它需要增加到1并且如果再次为其他每一个保持1,直到最后一个然后增加到2 ......等等......
我想我需要计算其他的if或者其他东西,但是我对循环很糟糕,我可以让它总是0或者在每一行中增加1,所以它最终成为名字1 firstname 2等。< / p>
更新:它用于导入csv数据的wordpress插件... csv被设置为firstname lastname blah blah ...每个值被设置为其实际值,然后anotehr one设置为“field_53eac4161a811”或无论每一个它...所以每个elseif输入两行到数据库。哪个工作正常...(数组出来,因为所有信息匹配,但$ i总是0或每个键/值的增量,而不是每个循环只有一次)。除了覆盖前一个变量,因为$ i变量是每个csv数据行唯一变化的标记...不确定这是否有助于解释它。
下面是应该出来的......它确实如此,除非文件解析下一行teh 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 :(得分:-1)
如果只打一次,你是不是要打这些?您可以将增量放在最后一个else块中。