Intereting Posts
Неустранимая ошибка – класс «Монго» не найден Как получить общее количество строк запроса GROUP BY? Вставьте данные в таблицу базы данных WordPress из пользовательской формы Регулярное выражение Получить адрес электронной почты с адреса электронной почты Форматирование PHP SoapServer PEAR в Windows: как изменить местоположение pear.ini Пэкинг не работает при добавлении AJAX PHP-таблицы, состоящие из 3-х строк, загружаемых из базы данных SQL Будет ли синглтон хорошим шаблоном дизайна для сайта микроблогов? Все равно получите в textarea идентифицировать и выполнить php-код в строке Функция PHP mail () не будет отправляться в gmail, но будет отправлена ​​на мою учетную запись, отличную от gmail. PHP SQL выбирает, где в массиве идентификаторов и имеет одинаковое значение столбца переменной Есть ли статический способ бросить исключение в php Каковы недостатки использования постоянного соединения в PDO

ИСПОЛЬЗОВАНИЕ $ ЭТОГО в PHP

В моем коде я пытаюсь вызвать функцию, находящуюся внутри другой функции. Я пытаюсь передать $ results var функции NVPToArray () и вернуть результат. После этого я хочу повторить результат, который будет массивом. Я продолжаю получать ошибку, говоря, что функция не определена, поэтому я уверен, что я не вызываю функцию правильно.

<?php class Process extends BaseController { // Function to convert NTP string to an array public function postPurchase() { // Include config file include(app_path().'/includes/paypal_config.php'); $result = curl_exec($curl); curl_close($curl); // Parse the API response $nvp_response_array = parse_str($result); // Function to convert NTP string to an array function NVPToArray($NVPString) { $proArray = array(); while(strlen($NVPString)) { // name $keypos= strpos($NVPString,'='); $keyval = substr($NVPString,0,$keypos); // value $valuepos = strpos($NVPString,'&') ? strpos($NVPString,'&'): strlen($NVPString); $valval = substr($NVPString,$keypos+1,$valuepos-$keypos-1); // decoding the respose $proArray[$keyval] = urldecode($valval); $NVPString = substr($NVPString,$valuepos+1,strlen($NVPString)); } return $proArray; } NVPToArray($this->$result); echo $proArray; } } ?> 

Вы не должны объявлять функцию внутри функции в PHP, это вызовет ошибку, если вы запустите эту функцию более одного раза. Кроме того, ваша функция называется NVPToArray , но вы вызываете NVPT . Попробуйте что-то подобное (не совсем понятно, что вы пытаетесь сделать в postPurchase ).

 <?php class Process extends BaseController { // Function to convert NTP string to an array public function postPurchase() { // Include config file include(app_path().'/includes/paypal_config.php'); $result = curl_exec($curl); curl_close($curl); // Parse the API response $nvp_response_array = parse_str($result); echo $this->NVPToArray($result); } // Function to convert NTP string to an array public function NVPToArray($NVPString) { $proArray = array(); while(strlen($NVPString)) { // name $keypos= strpos($NVPString,'='); $keyval = substr($NVPString,0,$keypos); // value $valuepos = strpos($NVPString,'&') ? strpos($NVPString,'&'): strlen($NVPString); $valval = substr($NVPString,$keypos+1,$valuepos-$keypos-1); // decoding the respose $proArray[$keyval] = urldecode($valval); $NVPString = substr($NVPString,$valuepos+1,strlen($NVPString)); } return $proArray; } } ?> в <?php class Process extends BaseController { // Function to convert NTP string to an array public function postPurchase() { // Include config file include(app_path().'/includes/paypal_config.php'); $result = curl_exec($curl); curl_close($curl); // Parse the API response $nvp_response_array = parse_str($result); echo $this->NVPToArray($result); } // Function to convert NTP string to an array public function NVPToArray($NVPString) { $proArray = array(); while(strlen($NVPString)) { // name $keypos= strpos($NVPString,'='); $keyval = substr($NVPString,0,$keypos); // value $valuepos = strpos($NVPString,'&') ? strpos($NVPString,'&'): strlen($NVPString); $valval = substr($NVPString,$keypos+1,$valuepos-$keypos-1); // decoding the respose $proArray[$keyval] = urldecode($valval); $NVPString = substr($NVPString,$valuepos+1,strlen($NVPString)); } return $proArray; } } ?> в <?php class Process extends BaseController { // Function to convert NTP string to an array public function postPurchase() { // Include config file include(app_path().'/includes/paypal_config.php'); $result = curl_exec($curl); curl_close($curl); // Parse the API response $nvp_response_array = parse_str($result); echo $this->NVPToArray($result); } // Function to convert NTP string to an array public function NVPToArray($NVPString) { $proArray = array(); while(strlen($NVPString)) { // name $keypos= strpos($NVPString,'='); $keyval = substr($NVPString,0,$keypos); // value $valuepos = strpos($NVPString,'&') ? strpos($NVPString,'&'): strlen($NVPString); $valval = substr($NVPString,$keypos+1,$valuepos-$keypos-1); // decoding the respose $proArray[$keyval] = urldecode($valval); $NVPString = substr($NVPString,$valuepos+1,strlen($NVPString)); } return $proArray; } } ?> 

Вы получаете неопределенную функцию, потому что вы вызываете NVPT() который не существует.

Вы должны вызвать NVPToArray() .

И о $this , поскольку ваш $result var определен внутри функции, которую вам не нужно использовать. Вы можете вызвать его всего за $result .

Вы бы использовали его, если бы у вас было что-то вроде:

 class T { ... public $result; function yourF(){ .... echo $this->result; } }