У меня есть два подхода к вам:
Первое:
Вы можете хранить эти значения во временном массиве и сосчитать предметы, если есть меньше, чем 24, что-то пошло не так!
$tmp_arr = explode($delimiter, $line);
if(count($tmp_arr) < 24) {
print_r($tmp_arr); // gives you a nice output
}
else
{
list($export_date, $application_id, $language_code, $title, $description, $release_notes, $company_url, $suppport_url, $screenshot_url_1, $screenshot_url_2, $screenshot_url_3, $screenshot_url_4, $screenshot_width_height_1, $screenshot_width_height_2, $screenshot_width_height_3, $screenshot_width_height_4,$ipadscreenshot_url_1, $ipadscreenshot_url_2, $ipadscreenshot_url_3, $ipadscreenshot_url_4, $ipadscreenshot_width_height_1, $ipadscreenshot_width_height_2, $ipadscreenshot_width_height_3, $ipadscreenshot_width_height_4) = explode($delimiter, $tmp_arr);
}
Если вам не нравится временный массив, вы можете рассчитывать разделители (не так хорошо, на мой взгляд)
if(substr_count($line, $delimiter) < 23) {
// less than 24 fields!
print_r(explode($delimiter, $tmp_arr));
}
else
{
// everything alright!
list($export_date, $application_id, $language_code, $title, $description, $release_notes, $company_url, $suppport_url, $screenshot_url_1, $screenshot_url_2, $screenshot_url_3, $screenshot_url_4, $screenshot_width_height_1, $screenshot_width_height_2, $screenshot_width_height_3, $screenshot_width_height_4,$ipadscreenshot_url_1, $ipadscreenshot_url_2, $ipadscreenshot_url_3, $ipadscreenshot_url_4, $ipadscreenshot_width_height_1, $ipadscreenshot_width_height_2, $ipadscreenshot_width_height_3, $ipadscreenshot_width_height_4) = explode($delimiter, $line);
}
Внимание! у вас всего 23 разделителя на 24 поля! ;)
Второй подход:
Поскольку Неопределенное Offset вопрос просто «Уведомление» из PHP можно написать обработчик ошибок, который ловит уведомление.
См: http://www.codeunit.co.za/2009/09/09/php-how-to-catch-a-script-warning-or-notice/
Но это одна, может быть, немного избыточна;)
С наилучшими пожеланиями
Simon
спасибо это, если идеально, если это ошибки это означает, что мой ввод данных коррумпирован, поэтому я хочу игнорировать его. – kitenski