2 / 2 / 0
Регистрация: 23.02.2011
Сообщений: 37
1

Почему не передается массив в качестве параметра в функцию?

02.01.2013, 12:28. Показов 680. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет и с Новым годом !!! =)

Пишу приложение на Zend. Есть класс:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Application_Model_Request{
protected $IdRequest, $IdClient;
 
public function setOptions(array $options)
    {
        $methods = get_class_methods($this);
        echo $options;
        foreach ($options as $key => $value)
        {
            $method = 'set'.ucfirst($key);
            echo $method;
            if(in_array($method, $methods))
            {
                $this->$method($value);
            }
            return $this;
        }
    }
public function setIdRequest();
publict function getIdRequest();
publict function setIdClient();
publict function getIdClient();
}


Создаю экземпляр этого класса
PHP
1
$request = new Application_Model_Request();
и пытаюсь вызвать функцию этого класса setOptions, передаю в нее массив
PHP
1
 $request->setOptions(array('IdRequest'=>'00001', 'IdClient'=>'00004'));
В результате смотрю Zend_Debug'ом в функцию приходит только первый элемент массива причем вот в таком виде:
ArraysetIdRequest

Подскажите в чем может быть проблема?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.01.2013, 12:28
Ответы с готовыми решениями:

Функция сортировки массива, в качестве параметра которой передается указатель на массив целых чисел
создать функцию, в качестве параметра которой передается указатель на массив целых чисел. Функция...

Не выходит передать массив в качестве параметра в функцию
Пишу лабораторную работу. Несколько тем здесь и вообще через Google просмотрел, но так решить свою...

Создать функцию, в качестве параметра получает массив и количество его элементов, возвращает массив, упорядоченный по возрастанию
помогите решить задачу в с++ создать функцию, в качестве параметра получает массив и количество...

Как передать массив структур в функцию в качестве параметра, чтобы изменения в функции меняли исходный массив?
Допустим есть структура struct Base { int a; int b; int c; }; В...

3
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
03.01.2013, 07:50 2
Цитата Сообщение от Rybaki Посмотреть сообщение
PHP
1
2
3
4
public function setOptions(array $options) 
{ 
$methods = get_class_methods($this); 
echo $options;
вообще то вам ошибка должна приходить, что вы к массиву как к строке обращаетесь

Добавлено через 1 минуту
Цитата Сообщение от Rybaki Посмотреть сообщение
return $this;
здесь вы возвращаете значение, и тем самым заканчиваете работу метода, поэтому у вас по массиву, и проходит только одна иттерация

Добавлено через 1 минуту
Цитата Сообщение от Rybaki Посмотреть сообщение
publict function setIdClient();
и здесь буква лишняя

Добавлено через 2 минуты
p.s посмотрите эту функцию method_exists
1
2 / 2 / 0
Регистрация: 23.02.2011
Сообщений: 37
03.01.2013, 11:22  [ТС] 3
Спасибо!
не заметил, что
PHP
1
return $this
внутри цикла впихнул. =)
что касается
PHP
1
publict function setIdClient();
то это просто опечатка в посте, в коде все норм.
Еще раз спасибо.
0
KOPOJI
03.01.2013, 13:40     Почему не передается массив в качестве параметра в функцию?
  #4

Не по теме:

Цитата Сообщение от alpex Посмотреть сообщение
вообще то вам ошибка должна приходить, что вы к массиву как к строке обращаетесь
неа, просто выведет Array. Ошибку выдает если конкатенировать :)

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.01.2013, 13:40

Указатели (нужно передать массив в качестве параметра в функцию)
Добрый день! имеется массив array его нужно передать в качестве параметра в функцию, принимающую...

Написать функцию, принимающую в качестве параметра одномерный массив
Запишите и испытайте функцию. Входными параметрами составляемых функций являются одномерные массивы...

Почему в качестве параметра метода main() мы передаём пустой строчный массив?
Добрый Вечер!!! Скажите Пожалуйста, почему в качестве параметра метода main() мы передаём пустой...

Написать функцию, принимающую в качестве параметра массив целых чисел
Написать функцию, принимающую в качестве параметра массив целых чисел а) из 25 элементов; б) с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru