Как я могу упростить эту функцию - вернуть значение ключа из массива? - PullRequest
0 голосов
/ 08 ноября 2019

Я написал следующую функцию, которая возвращает значение ключа, который является префиксом учетной записи cPanel. [prefix] = 'oneclick _'

Функция работает, но я только начинающий, и я уверен, что есть простой и лучший способ написать эту функцию.

<?php
// Get data from cPanel API
$array = $cp_db_restrictions['cpanelresult']['result']['data'];

//Pass array of $data to function
db_prefix( $array );

//Function accepts array of $data
function db_prefix( $array ) {
  if( count( $array ) > 0 ) {
      return $array['prefix'];
  } else {
      return "No prefix";
  }
}
?>

<?php echo db_prefix($array); ?>

Функцияechos "oneclick _"

EDIT: Этот код возвращает массив:

$cp_db_restrictions = $cpanel->uapi(
      'Mysql', 'get_restrictions'
  );

Однако я не совсем уверен, как добавить это вфункция. При попытке получить следующее сообщение об ошибке:

Примечание: неопределенная переменная: массив в ...

Неустранимая ошибка: необработанная ошибка: вызов функции-члена uapi () при нулевом входе. ..

РЕШЕНИЕ *

Итак, благодаря ответу Ника вот решение. Вы должны обязательно объявить класс cPanel в верхней части документа и в тех же тегах PHP.

<?php
include("/usr/local/cpanel/php/cpanel.php"); // Instantiate the CPANEL object.
$cpanel = new CPANEL();

function db_prefix($cpanel) {
      $cp_db_restrictions = $cpanel->uapi('Mysql', 'get_restrictions');
      $array = $cp_db_restrictions['cpanelresult']['result']['data'];
      return $array['prefix'] ?? 'No prefix';
} ?>
<?php echo db_prefix($cpanel); ?>

1 Ответ

4 голосов
/ 08 ноября 2019

В PHP7 вы можете просто использовать оператор объединения нулей ??:

echo $array['prefix'] ?? 'No prefix';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...