目录
一、是否为空
1、总结
(1)false、null、''、"" 等。
echo 不会显示,dump() 会显示 false。
(2)空值:''、""、0、'0'、"0"、false、[]、Array() 等。
isset() 都是 ture,empty() 都是 true。
(3)null:null。
empty() 是 true,isset() 是 false。
2、验证
echo 0;
echo null; //打印不出来
echo 0;
echo false; //打印不出来
echo 0;
echo ''; //打印不出来
echo 0;
echo ""; //打印不出来
echo 0;
echo '<br>';
echo '----------------------------------';
dump(empty(null)); // true
dump(empty('')); // true
dump(empty("")); // true
dump(empty(0)); // true
dump(empty('0')); // true
dump(empty(false)); // true
dump(empty([])); // true
dump(empty(Array())); // true
dump(empty((object)(null))); // false
echo '----------------------------------';
dump(""); //""
dump(''); //""
dump(null); //null
dump([]); //[]
dump(Array()); //[]
二、怎么查库
1、总结
(1)批量查询
尽量使用
echo '-----------------get()->toArray()-----------------';
// 批量查询
$res = Website::where('id', 1)->get()->toArray(); //找不到是空数组,找到是数组
// 非空判断
if(isset($res) && !empty($res)){
//执行
}
if(!isset($res) || empty($res)){
//跳过
}
不使用
echo '-----------------get()-----------------';
$res = Website::where('id', 1)->get(); //找不到是只包含属性的集合,找到是属性+数据的集合
//无法判断是否有数据
(2)单个查询
尽量使用
echo '-----------------first()-----------------';
//单个查询
$res = Website::where('id', 1)->first(); //找不到是null,找到是对象
//非空判断
if(isset($res) && !empty($res)){
//执行
}
if(!isset($res) || empty($res)){
//跳过
}
不使用
echo '-----------------first()->toArray()-----------------';
$res = Website::where('id', 1)->first()->toArray(); //找不到是null->toArray()报错,找到是一维数组
//避免使用,因为查不到数据会报错
2、验证
public function test() {
echo '-----------------get()-----------------';
$res = Website::where('id', 1)->get(); //找不到是只包含属性的集合,找到是属性+数据的集合
dump($res); //$res=Collection{}
dump(isset($res)); //true
dump(empty($res)); //false
//无法判断是否有数据
echo '-----------------get()->toArray()-----------------';
$res = Website::where('id', 1)->get()->toArray(); //找不到是空数组,找到是数组
dump($res); //$res=[]
dump(isset($res)); //true
dump(empty($res)); //true
//可以判断是否有数据
//方式一
if(isset($res) && !empty($res)){
//执行
}
if(!isset($res) || empty($res)){
//跳过
}
//方式二
if(!empty($res)){
//执行
}
if(empty($res)){
//跳过
}
echo '-----------------first()-----------------';
$res = Website::where('id', 1)->first(); //找不到是null,找到是对象
dump($res); //null
dump(isset($res)); //false
dump(empty($res)); //true
//方式一
if(isset($res) && !empty($res)){
//执行
}
if(!isset($res) || empty($res)){
//跳过
}
//方式二
if(isset($res)){
//执行
}
if(!isset($res)){
//跳过
}
//方式三
if(!empty($res)){
//执行
}
if(empty($res)){
//跳过
}
echo '-----------------first()->toArray()-----------------';
$res = Website::where('id', 1)->first()->toArray(); //找不到是null->toArray()报错,找到是一维数组
//避免使用,因为查不到数据会报错
}