附加到数组的NULL传递给函数

时间:2012-05-16 05:26:05

标签: php codeigniter null

在尝试将数组传递给更新MySQL表中数据的函数时,我遇到了一个奇怪的错误。

我的触发器

$input_data = array(
  'field0' => 'abc',
  'field1' => '123'
);

// var dump #1
var_dump($input_data);
// gives expected result (2 element array)

$this->user->update_user_info($input_data);

用户模型

function update_user_info($new_data) {
    // var dump #2
    var_dump($new_data);

    // this gives:
    // array(2) {
    //    ["field0"] => string(3) "abc"
    //    ["field1"]=> string(3) "123"
    // }
    // NULL
}

结尾的NULL来自哪里?我试图将它与Codeigniter的活动Record Update类一起使用,并且因为NULL而失败。

我试图通过循环遍历foreach将其复制到新数组,但NULL值跟随新数组,即使它似乎不在数组中。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

NULL显然不在数组中;它在第二次调用update_user_info()函数时打印。您应该尝试找出update_user_info()函数被调用两次的原因。

答案 1 :(得分:0)

对上述“答案”表示歉意,我是网站的新用户,无法看到评论按钮:p

我已经根据自己的情况解决了这个问题,这可能适用于你。

正如我之前所说,我的问题是相同的,原因是没有正确返回两个函数 - 我返回了辅助函数,即我的数组传递给的那个函数。

function update_user_info($new_data) {

    // var dump #2
    var_dump($new_data);
    return;

}

但是在第一个函数中,我在调用第二个函数后没有返回,希望这有意义并且这对你有帮助,对我来说这真是令人沮丧!