PHP函数怪数组返回

时间:2014-07-14 16:48:50

标签: php

我有这个功能:

function Test ($test)
{
        [...]

        if ( $res->num_rows == 0 )
                return "BAD";

        $magic_array = array();

        while ( $row = $res->fetch_assoc() )
                $magic_array[] = $row["hex_stream"];

        return $magic_array;
}

如果我尝试:

    $result_array = Test($test);

    var_dump($result_array);

打印:

array(3) {
  [0]=>
  string(8) "FFD8FFE1"
  [1]=>
  string(8) "FFD8FFE0"
  [2]=>
  string(8) "FFD8FFE8"
}
string(3) "BAD"

似乎Test()正在返回$ magic_array和" BAD"在同一时间。

为什么会这样?

谢谢

1 个答案:

答案 0 :(得分:-2)

你的test()被调用了两次

第一次从var_dump

获得结果

你第二次变坏,因为

if ( $res->num_rows == 0 ) {
    return "BAD";
}

在if和while语句中使用{}的好习惯