Laravel 5.2 count()为echo,dd()和var_dump提供不同的结果

时间:2016-03-07 14:22:07

标签: php database laravel count

我的查询中有一个匹配的行。

echo $result提供100

dd($result)提供1

var_dump($result)提供int(1) int(0) int(0)

这里发生了什么?

相关代码:

$results= DB::table('answers')->where('qid', $question->id)->where('answer', 'yes')->count();

3 个答案:

答案 0 :(得分:3)

echo只是打印$result数组/对象变量。就像你使用toString()一样。结果为'1,0,0',实际上您看为100。

var_dump在$ result中显示三个变量。 dd()显示您和对象。点击“1”附近的浏览器中的箭头,它将展开$result

的内容

答案 1 :(得分:0)

echo打印输出,在这种情况下输出将是您的查询计数为字符串100,因此在打印字符串时使用echo

var_dump()print_r() php函数用于打印对象和数组,您无法使用echo打印这些对象和数组,但var_dump()函数也会打印键的数据类型和arries中的价值观。

这个例子:

$a = array(1, 2, array("a"));
var_dump($a);
echo '<br/>------------------------------------------<br/>';
print_r($a);

,输出结果为:

enter image description here

dd()是与dump和die相关的laravel辅助函数,你可以阅读这个here

答案 2 :(得分:0)

原来我是个白痴,它在一个foreach陈述中并且迭代了3次。