一。常用函数
is_null() 函数用于检测变量是否为 NULL。
is_array()函数用于检测变量是否是一个数组。
is_int()函数用于检测变量是否是整数,别名函数():is_integer()、is_long()
is_numeric() 函数用于检测变量是否为数字或数字字符串。用于表单输入
is_object()函数用于检测变量是否是一个对象
is_scalar() 函数用于检测变量是否是一个标量。标量变量是指那些包含了 integer、float、string 或 boolean 的变量,而 array、object 和 resource 则不是标量。(按照js就是基本类型和对象类型区别)
<?php
function show_var($var) {
if (is_scalar($var)) {
echo $var;
} else {
var_dump($var);
}
}
$pi = 3.1416;
$sites = array("Runoob", "Google", "Facebook");
show_var($pi);
echo PHP_EOL;
show_var($sites)
?>
输出结果为:
3.1416
array(3) {
[0]=>
string(6) "Runoob"
[1]=>
string(6) "Google"
[2]=>
string(8) "Facebook"
}
boolval 函数用于获取变量的布尔值。(注意与js不同的boolval('0')是false)
var_dump() 函数用于输出变量的相关信息。var_dump() 函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
explode() 函数使用一个字符串分割另一个字符串,并返回由字符串组成的数组。"separator" 参数不能是一个空字符串。
intval() 函数用于获取变量的整数值。
floatval()、doubleval () 函数用于获取变量的浮点值,floatval 不能用于数组或对象。
empty() 函数用于检查一个变量是否为空。
get_defined_vars() 函数返回由所有已定义变量所组成的数组。
get_resource_type() 返回资源(resource)类型。
sizeof() 函数返回数组中元素的数目。sizeof() 函数是 count() 函数的别名。
isset() 函数用于检测变量是否已设置并且非 NULL。
参考网站(www.runoob.com/php/php-var…)
array_shift() 函数用于删除数组中的第一个元素,并返回被删除的元素。 参考网站:www.runoob.com/php/php-ref…
二。Illuminate\Support\Arr 是一个数组助手类#
ArrayAccess(数组式访问)接口
三。
instanceof函数是php5中新添的面向对象的函数。他主要的做用是 检测一个给定的对象是否属于(继承于)某个类(class)、某个类的子类、某个接口(interface)。若是是则返回true。反之返回false;php
register 方法用于绑定服务到容器,框架会先调用所有 provider 的 register 方法,等所有服务都注册完毕再去调用每一个服务的 boot 方法。
四、PHP命名空间的用法
1、定义
命名空间的定义采用关键字namespace,定义方式如下:
namespace example
则该命名空间下的类都归属于该命名空间,example命名空间下的类不能重名。
或者可以定义多级命名空间:
namespace example\test\demo
则改命名空间下的类全归属于example\test\demo命名空间。
2、引入
引入命名空间使用关键字use,可以通过多个use在一个文件中引入多个命名空间:
use example; use example\test\demo;
五。use Illuminate\Support\Facades\Cache; Laravel 的缓存
直接使用Laravel为我们提供的Facade
use Illuminate\Support\Facades\Cache;
$cache = Cache::get('key');
支持的大部分方法:
Cache::put('key', 'value', $minutes);
Cache::add('key', 'value', $minutes);
Cache::forever('key', 'value');
Cache::remember('key', $minutes, function(){ return 'value' });
Cache::rememberForever('key', function(){ return 'value' });
Cache::forget('key');
Cache::has('key');
Cache::get('key');
Cache::get('key', 'default');
Cache::get('key', function(){ return 'default'; });
Cache::tags('my-tag')->put('key','value', $minutes);
Cache::tags('my-tag')->has('key');
Cache::tags('my-tag')->get('key');
Cache::tags('my-tag')->forget('key');
Cache::tags('my-tag')->flush();
Cache::increment('key');
Cache::increment('key', $amount);
Cache::decrement('key');
Cache::decrement('key', $amount);
Cache::tags('group')->put('key', $value);
Cache::tags('group')->get('key');
Cache::tags('group')->flush();
六。
=>是创建数组时使用的赋值运算符(相当于前端的:)
array(key => value, key2 => value2)
->是访问运算符。使用对象运算符( - >)来访问对象(方法和变量)的属性
七。
this->】表示在类内使用本类的属性或者方法。
(this就代表哪个对象。将this通过引用的形式访问一个对象的方法和属性)
八。
常用的输出方式有:echo 、print 、print_r 、var_dump 、var_exprot,die 等;
echo(): 可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。
print(): 函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。
print_r(): 可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n"。因此用var_dump()函数更适合调试。
var_dump(): 判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
die() 有两个功能:先输出内容,然后退出程序。
var_export()主要用来对上线的项目做调试,打印出来结果,放到线下来检查。
echo和print常用来输出字符串;
查看数组常用print_r、var_dump、var_exprot;
若使用echo和print输出数组时则,结果只能显示"Array",不会显示数组的结构。
七。数组
$cars=array("Volvo","BMW","Toyota");
相当于数组arr=["Volvo","BMW","Toyota"] ,$cars[0]//Volvo
关联数组
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x','y','z'));
相当于数组arr=[{a:'apple'},{b:'banana'},"Toyota"] ,$a['b']//banana $a['c'][1]//y
九。
请求
$input = $request->all();//all 方法以 数组 形式获取到所有输入数据
$name = $request->input('name');//input 方法通常被用来获取用户输入数据,获取指定输入值
$name = $request->input('name', 'Sally');//input 方法的第二个参数传入一个默认值。当请求的输入数据不存在于此请求时,返回该默认值
十。数据库
table 查表
select 查询,Select 子句
where 对应查询条件,第一个参数是字段的名称。第二个参数是运算符,它可以是数据库所支持的任何运算符。最后,第三个参数是要对字段进行评估的值。
要验证「votes」字段的值等于 100 的查询
$users = DB::table('users')->where('votes', '=', 100)->get();
pluck 方法包含单个字段值的集合,可以使用
$titles = DB::table('roles')->pluck('title');
chunk 方法需要操作数千条数据库记录,每次只取出一小块结果,并会将每个块传递给一个
闭包 处理。
join 方法的第一个参数是你要 join 数据表的名称,而其它参数则指定用来连接的字段约束
JOIN 按照功能大致分为如下三类:
- INNER JOIN(内连接,或等值连接)
- LEFT JOIN(左连接):
- RIGHT JOIN(右连接):
$users = DB::table('users') ->join('contacts', 'users.id', '=', 'contacts.user_id') ->join('orders', 'users.id', '=', 'orders.user_id') ->select('users.*', 'contacts.phone', 'orders.price') ->get();
LIKE 子句是在 MySQL 中用于在 WHERE 子句中进行模糊匹配的关键字。它通常与通配符一起使用,用于搜索符合某种模式的字符串。
LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *。
如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。
$users = DB::table('users') ->where('name', 'like', 'T%') ->get();
十。Redis 是一款开源且先进的键值对数据库。由于它的键指向的数据包含了 字符串、哈希、列表、集合 和 有序集合 这些数据类型,因此常被用作数据结构服务器。
十一:
1.-》get() 获取所有数据
2.-》get(xx)获取
十二。循环
1.foreach (数组变量 as 数组内容)
2.foreach (数组变量 as 数组内容指针前=> 数组内容指针后)
x as value) { echo "key 为 " . value ."
"; }