将数组传递给函数参数

时间:2011-05-25 02:28:01

标签: php function

在函数参数中传递数组是否可以?例如,

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 个答案:

答案 0 :(得分:2)

将数组传递给函数绝对没问题。许多PHP自带的内置array_*()函数接收数组参数,然后返回数组。

至于从函数返回数组 - 这是从单个函数返回多个值的绝佳方法。

答案 1 :(得分:1)

在函数参数中传递数组是否可以? =&gt; 是<!/强>

答案 2 :(得分:1)

如果需要返回多个值,则数组就是这样做的一种方式。

您也可以返回一个对象,只需实例化stdClass并设置属性。

答案 3 :(得分:1)

可以将array作为参数传递,也可以返回array作为结果。在PHP我们一直这样做。

也可以通过其他语言传递和返回数组...就像在Python中他们经常这样做一样,例如process_parameters(*parameters)

如果你传递一个物体,它甚至可以!或者返回一个对象......就像这样:

$dbConnection = get_db_connection('mysql'); // $dbConnection is an instance of MySQLDbConnection now