Сообщение об ошибке с жалобой на неожиданную] скобку, но это действительноPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Сообщение об ошибке с жалобой на неожиданную] скобку, но это действительно

Сообщение Anonymous »

В PHP 7.1.33 я запускаю следующую функцию zen_cfg_uspsr_showservices . При каждом выполнении я получаю ошибку < /p>
[17-Feb-2015 20:58:50 UTC] Ошибка PHP Pres ']', ожидание '-' или идентификатор (t_string) или переменная (t_variable) или number (t_num_string) в e: \ xampp \ htdocs \ zencart157 \ включает \ modules \ shipping \ uspsr.php в строке 2460 < /blockquote>
строка 2460 Ссылки$methods_intl[] = preg_replace(
< /code>
Ошибка не имеет смысла, так как все скобки соответствуют. Я не уверен, почему эта ошибка продолжает настаивать. Я попробовал с обеими версией декларации массива (array() и [] ). И обе версии дают одно и то же сообщение об ошибке. < /P>
Вот исходный код: < /p>
function zen_cfg_uspsr_showservices($key_value)
{
// Split up Key Value into an array, then go through that array and find the non-numeric values. That should be the name of a method.
$key_values = array_filter(explode(', ', $key_value));

$methods_dom = [];
$methods_intl = [];

$output_domestic = '';
$output_intl = '';

foreach ($key_values as $methods) {
if (!is_numeric($methods)) {
// This is a string, not a number. Check to see if the value contains the word International, otherwise, it's a domestic

if (preg_match('/International/', $methods)) {
$methods_intl[] = preg_replace(
[
'/International/',
'/Envelope/',
'/ Mail/',
'/Large/',
'/Medium/',
'/Small/',
'/First/',
'/Legal/',
'/Padded/',
'/Flat Rate/',
'/Express Guaranteed /',
'/Package\hService\h-\hRetail/',
'/Package Service/',
'/ISC/',
'/Machinable DDU/',
'/Machinable\s+/',
'/(Basic|Single-Piece)/i',
'/USPS\s+/',
'/Non-Soft Pack Tier 1/',
'/\s{2,}/'
],
[
'Intl',
'Env',
'',
'Lg.',
'Md.',
'Sm.',
'1st',
'Leg.',
'Pad.',
'F/R',
'Exp Guar',
'Pkgs - Retail',
'Pkgs - Comm',
'',
'',
'',
' ',
'',
'',
' '
],
$methods
);
}
else {
$methods_dom[] = preg_replace(
[
'/International/',
'/Envelope/',
'/ Mail/',
'/Large/',
'/Medium/',
'/Small/',
'/First/',
'/Legal/',
'/Padded/',
'/Flat Rate/',
'/Express Guaranteed /',
'/Package\hService\h-\hRetail/',
'/Package Service/',
'/ISC/',
'/Machinable DDU\s+/',
'/Machinable\s+/',
'/(Basic|Single-Piece)/i',
'/USPS\s+/',
'/Non-Soft Pack Tier 1/',
],
[
'Intl',
'Env',
'',
'Lg.',
'Md.',
'Sm.',
'1st',
'Leg.',
'Pad.',
'F/R',
'Exp Guar',
'Pkgs - Retail',
'Pkgs - Comm',
'',
'',
'',
'',
'',
''
],
$methods
);
}
}
}

foreach ($methods_dom as $method) {
$output_domestic .= trim($method) . ($method == end($methods_dom) ? '' : ', ');
}

foreach ($methods_intl as $method) {
$output_intl .= trim($method) . ($method == end($methods_intl) ? '' : ', ');
}

$output = "Domestic Methods:
" . (zen_not_null($output_domestic) ? $output_domestic : '- None -') . "

\n" . "International Methods
:
" . (zen_not_null($output_intl) ? $output_intl : '- None -');

return $output . "\n";
}



Подробнее здесь: https://stackoverflow.com/questions/794 ... -its-valid
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»