本文已参与【新人创作礼】活动 ,一起开启掘金创作之路
1、extract函数
extract
定义和用法
array_values() 函数从数组中将变量导入到当前的符号表
注释: 该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在当前符号表中创建对应的一个变量。该函数返回成功设置的变量数目
语法 extract(array,extract_rules,prefix)
| 参数 | 描述 |
|---|---|
| array | 必需。规定要使用的数组 |
| extract_rules | 可选。extract() 函数将检查每个键名是否为合法的变量名,同时也检查和符号表中已存在的变量名是否冲突。对不合法和冲突的键名的处理将根据此参数决定。可能的值:- EXTR_OVERWRITE - 默认。如果有冲突,则覆盖已有的变量。- EXTR_SKIP - 如果有冲突,不覆盖已有的变量。- EXTR_PREFIX_SAME - 如果有冲突,在变量名前加上前缀 prefix。- EXTR_PREFIX_ALL - 给所有变量名加上前缀 prefix。- EXTR_PREFIX_INVALID - 仅在不合法或数字变量名前加上前缀 prefix。- EXTR_IF_EXISTS - 仅在当前符号表中已有同名变量时,覆盖它们的值。其它的都不处理。- EXTR_PREFIX_IF_EXISTS - 仅在当前符号表中已有同名变量时,建立附加了前缀的变量名,其它的都不处理。- EXTR_REFS - 将变量作为引用提取。导入的变量仍然引用了数组参数的值。 |
| prefix | 可选。如果 extract_rules 参数的值是 EXTR_PREFIX_SAME、EXTR_PREFIX_ALL、 EXTR_PREFIX_INVALID 或 EXTR_PREFIX_IF_EXISTS,则 prefix 是必需的。 该参数规定了前缀。前缀和数组键名之间会自动加上一个下划线。 |
## extract函数可以快速整合get和post请求的变量 extract($_GET);extract($_POST)
extract($request->all());
dump($signature,$queryfield,$editdata);
# 部分输出
"5f6586d9ad56ed1dc124aace90b93e5a"
"game"
array:53 [
"title" => "666"
"catid" => "666"
"status" => "1"
"first_user" => "666"
"islist" => "1"
"is_bot" => "666"
"dtitle" => "666"
"maketableid" => "666"
"sourceurl" => "666"
"seodesc" => "666"
"seokey" => "666"
]
2、compact函数
compact
定义和用法
compact() 函数创建一个包含变量名和它们的值的数组
注释: 任何没有变量名与之对应的字符串都被略过
语法 compact(var1,var2...)
| 参数 | 描述 |
|---|---|
| var1 | 必需。可以是带有变量名的字符串,或者是一个变量数组 |
| var2,... | 可选。可以是带有变量名的字符串,或者是一个变量数组。允许多个参数 |
$username = "test";
$password = "123456";
$login_times = "41";
# 组装数据
$res = compact("username", "password", "login_times");
dump($res);
## 输出
array:3 [
"username" => "test"
"password" => "123456"
"login_times" => "100"
]
# 插入数据库 laravel 框架
DB::table('t_test')->insert($res);
# laravel 框架 使用compact传递变量
public function index()
{
$username = 'username';
$login_times = '100';
return view('user.list',compact('username','login_times'));
}
3、array_slice函数
array_slice
定义和用法
array_slice() 函数返回数组中的选定部分
注释: 如果数组有字符串键名,所返回的数组将保留键名
语法 array_slice(array,start,length,preserve)
| 参数 | 描述 |
|---|---|
| array | 必需。规定数组。 |
| start | 必需。数值。规定取出元素的开始位置。 0 = 第一个元素。 如果该值设置为正数,则从前往后开始取。如果该值设置为负数,则从后向前取 start 绝对值。 -2 意味着从数组的倒数第二个元素开始。 |
| length | 可选。数值。规定被返回数组的长度。 如果该值设置为整数,则返回该数量的元素。如果该值设置为负数,则函数将在举例数组末端这么远的地方终止取出。如果该值未设置,则返回从 start 参数设置的位置开始直到数组末端的所有元素。 |
| preserve | 可选。规定函数是保留键名还是重置键名。可能的值:- true - 保留键名- false - 默认。重置键名 |
$lang_info = array("PHP", "JavaScript", "Java", "Python", "C++","SQL","Ruby");
dump(array_slice($lang_info, 2));
# 输出
array:5 [
0 => "Java"
1 => "Python"
2 => "C++"
3 => "SQL"
4 => "Ruby"
]
dump(array_slice($lang_info, -2, 3));
# 输出
array:2 [
0 => "SQL"
1 => "Ruby"
]
dump(array_slice($lang_info, 3, 3));
# 输出
array:3 [
0 => "Python"
1 => "C++"
2 => "SQL"
]
dump(array_slice($lang_info, 3, 3, true));
# 输出
array:3 [
3 => "Python"
4 => "C++"
5 => "SQL"
]