不能在mysql中使用foreach值

时间:2014-01-17 08:39:44

标签: php mysql laravel-4

我正在使用foreach循环来获取数据,然后使用数据从数据库中获取信息。 但是当使用$main[0]->group_number(文本不是整数)时,它会返回错误的数据,如015 == 01

Product::Budget($budget_id)->Active(1)->Parent($main[0]->group_number)->get();

但是当我将$ main [0] - > group_number放在$ string中时,它会返回正确的数据。

$value = $main[0]->group_number;
Product::Budget($budget_id)->Active(1)->Parent($value)->get();

现在它返回正确的数据,01 == 01和015 == 015

为什么第一个返回错误数据而第二个返回正确数据?

// This takes data from another table and puts it into $main
@foreach($groups->insideGroup($budget_id, $group->number, null, 2) as $main)
    // This takes data from the last table and puts it into $job, but if using $main value in the Parent() scope, it returns wrong values. Except when putting the value into $string
    @foreach(Job::Budget($budget_id)->Active(1)->Parent($main[0]->group_number)->get() as $job)
    @endforeach
@endforeach

1 个答案:

答案 0 :(得分:0)

我相信这是PHP在工作中的类型。 你可以用以下方法测试一下:

var_dump(015);
var_dump('015');

PHP将第一个视为八进制数 http://www.php.net/manual/en/language.types.integer.php