Как вернуть массив из функции класса - PullRequest
0 голосов
/ 28 августа 2018

Я хочу вернуть массив из функции, но он ничего не возвращает. Если я объявляю любую строку, которая возвращает штрафы, но мне нужно вернуть.

class someclasss {

  function somefunction {

    $arr = array();

    if(condition){
      array_push($arr, array("name"=>"john"));
      return $arr;
    }

  }

}

Я также пытался вернуть простой массив, но это тоже не сработало!

Может кто-нибудь помочь узнать, как вернуть массив из функции ??

1 Ответ

0 голосов
/ 28 августа 2018

Ваш текущий код имеет две проблемы:

  1. Это не возвращает переменную, которая содержит массив. Он возвращает результат функции array_push (), что, вероятно, не то, что вы хотите.
  2. Возврат происходит только тогда, когда внутри условно. Если условие не сработает, оператор return не встречается. По сути это эквивалентно выполнению return null;, если условие не срабатывает.

Вы, вероятно, хотите что-то вроде:

function somefunction {
  $arr = array();
  if(condition){
    array_push($arr, array("name"=>"john"));
  }
  return $arr;
}

Который может быть сокращен до:

function somefunction {
  return condition ? ['name' => 'john'] : [];
}
...