我正在使用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
答案 0 :(得分:0)
我相信这是PHP在工作中的类型。 你可以用以下方法测试一下:
var_dump(015);
var_dump('015');
PHP将第一个视为八进制数
http://www.php.net/manual/en/language.types.integer.php