[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как сделать массив пустым
Страницы: 1, 2
stump
Есть функция которая задает параметры:
    public function setparam( $key, $value )
{
$this -> param[ $key ] = $value;
return $this;
}

Все работает отлично только возникает трудность которая выражается в том, что после определения параметров для одного объекта происходит переход к созданию параметров для второго объекта и в промежутке между переходами существует необходимость реинициализировать (очистить массив от содержимого). Есть наработка в этом вопросе:
Есть наработка в этом вопросе:

public function unsetparam()
{
foreach( $this -> param as $param )
{
array_pop( $this -> param );
}
return $this;
}


Это решение вроде хорошее, но если долго на него смотреть то хочется его по рефакторить. В направлении рефакторинга пробовал воспользоваться функцией reset ( $this -> param ) массив остался заполненным и ситуации где

reset ( $this -> param ); 
(
$this -> param === array()) возвращает bool(true)


не произошло. Протестировал функцию reset:

  $array = array();
reset($array);
array_push($array, 1, 2,3,4,5);
reset($array);

var_dump(($array === array()));
var_dump($array);

/*
* bool(false);
* array(5) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) }
*/



Не могу понять почему. Т.о. функция:


public function unsetparam()
{
reset ( $this -> param );
return $this;
}


неработает. Но и блок

public function unsetparam()
{
foreach( $this -> param as $param )
{
array_pop( $this -> param );
}
return $this;
}


остается.

Существуют ли другие эффективные способы рефакторинга функции unsetparam?

_____________
Трус не играет в хокей
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.