Передача массива в параметр функции - PullRequest
2 голосов
/ 25 мая 2011

Можно ли передавать массив в аргумент функции?Например,

function something() 
{
if ($this->db->insert($this->table_name, $data)) {
$data = array(
    'user_id' => $this->db->insert_id();
    'first_name' => $this->form_validation->set_value('first_name'),
    'last_name' => $this->form_validation->set_value('last_name'),
    );


 if ($activated)
            $this->create_profile($data);
            return array( //not sure why i'm returning this
                        'user_id' => $user_id,
                        'first_name' => $first_name,
                        'last_name' => $last_name,
    }                   );
    return NULL;
    }

, а затем передать его в

    private function create_profile($data)
    {
    return $this->db->insert( $this->profile_table_name, $data )
    }

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

Ответы [ 4 ]

2 голосов
/ 25 мая 2011

Абсолютно нормально передавать массив в функцию. Многие из встроенных в PHP array_*() функций получают параметры массива, а затем возвращают массивы.

А что касается возврата массива из функции - это отличный способ вернуть несколько значений из одной функции.

1 голос
/ 25 мая 2011

Можно передать array в качестве параметра, а также можно вернуть array в качестве результата.В PHP мы делаем это постоянно.

Также можно передавать и возвращать массивы на других языках ... как в Python, они делают это часто, например, process_parameters(*parameters).

Это даже нормально, если вы передадите объект!Или вернуть объект ... Вот так:

$dbConnection = get_db_connection('mysql'); // $dbConnection is an instance of MySQLDbConnection now
1 голос
/ 25 мая 2011

Если вам нужно вернуть несколько значений, массив является одним из способов сделать это.

Вы также можете вернуть объект, просто создайте экземпляр stdClass и установите свойства.

1 голос
/ 25 мая 2011

Можно ли передавать массив в аргумент функции? => ДА!

...