Во-первых, спасибо, что уделили мне время.
Во-вторых, извините, если это дубликат, я законно искал в течение 3 дней и не нашел ответа на мою конкретную ситуацию.
Визуализация полученной ошибки
Эта первая строка преобразует значения массива в строку индекса (ов)
$path = self::extract_path($path);
После извлечения $ path становится строкой в формате, аналогичном ['key1'] ['key2']
Здесь я проверяю, найден ли один ценный элемент (ondemand) в этой строке ключей, поэтомупока все хорошо.
if( $path !== FALSE && strpos($path, $element) !== FALSE){
$var_dim_str = 'coupon' . $path . '[recurrence]';
Как самообладание, я жестко запрограммировал один из моих конкретных элементов сценария, и он действительно существует, поэтому моя проблема не в том, чтобы не инициализировать мойпеременная, как предлагали большинство других тем.
var_dump($coupon['item']['ondemand']['recurrence']);
Моя проблема лежит здесь, я получаю "ErrorException [Замечание]: неопределенная переменная: coupon [item] [ondemand] [recurrence] "
$recurrence = $$var_dim_str;
[...]
Вот мой вывод var_dump:
Это мои индексы в виде массива, который они извлекают для восстановления строки переменной ', у меня есть несколько массивов переменного размера, которые вызывают, поэтому глубина измерения не всегда может иметь фиксированное значение, поэтому я должен динамическипроверьте это.
1- $ path перед извлечением
[...]\modules\payment\classes\Helper\Payment.php:290:
array (size=2)
0 => string 'item' (length=4)
1 => string 'ondemand' (length=8)
2- Здесь мы видим, что (['item'] ['ondemand'] ['recurrence'] =>3) существует
[...]\modules\payment\classes\Payment\Cart.php:266:
array (size=1)
'item' =>
array (size=3)
'ondemand' =>
array (size=14)
[...]
'recurrence' => string '3' (length=1)
[...]
3- Мой var_dump выше выводит его правильно.
[...]\modules\payment\classes\Payment\Cart.php:270:string '3' (length=1)
** Итак, я пришел к выводу, что PHP не очень ценит мою «встроенную» переменнуюно должен быть какой-то способ заставить эту логику работать ... любые указания на это были бы действительно оценены.**