PHP常见小结 原创

  1. include与require的区别
<?php
$file = __DIR__ . '/test.file.php';
# include
# 如果文件不存在或文件有错误执行代码会提示一个warning警告,代码继续向下执行

#include $file;

# require
# 如果文件不存在或文件有错误执行代码直接报fatal error,后续代码不再执行

#require $file;

# include_once和require_once
# 如果该文件中已经被包含过,则不会再次包含。如同此语句名字暗示的那样,只会包含一次
# 可以用于在脚本执行期间同一个文件有可能被包含超过一次的情况下,想确保它只被包含一次以避免函数重定义,变量重新赋值等问题

  1. 常用数组操作函数
<?php
$array = [];
$array2 = [];
array_push($array, 'abcdef'); // 向数组尾部插入一条记录
var_dump(array_push($array2, false)); // 插入一条记录并返回数组中记录总数
$array3 = array_merge($array, $array2); // 合并数组并赋值给新的变量
// in_array(value, array, strict = false) 查找value是否存在与array中
// strict是否严格模式即连同数据的类型一起判断,默认不判断数据类型
// strict = false:false == 0 false == '' ...
// strict = true:false === 0 false === '' ...
var_dump(in_array(0, $array3)); // 输出 bool(true)
var_dump(in_array(0, $array3, true)); // 输出 bool(false)
var_dump(array_key_exists(1, $array3)); // 输出 bool(true) 判断下标索引[key] = 1的记录是否存在
var_dump(array_pop($array3)); // 输出 bool(false) 移除并返回数组中最后一条记录
var_dump(array_unshift($array3, 'hello')); // 输出 int(2) 向数组头部添加一条记录并返回数组记录总数
var_dump(array_shift($array3)); // 输出 string(5) "hello" 移除并返回数组中的第一条记录
array_push($array3, rand(1, 100));
array_push($array3, rand(1, 100));
array_push($array3, rand(1, 100));
array_push($array3, rand(1, 100));
array_push($array3, rand(1, 100));
array_push($array3, rand(1, 100));
sort($array3, SORT_NUMERIC); // 对数组进行升序排序,把每一条记录当作数字进行排序
print_r($array3);
rsort($array3); // 对数组进行降序排序
print_r($array3);
var_dump(ksort($array3)); // 对数组进行按照key的大小升序排序
print_r($array3); 
krsort($array3); // 对数组进行按照key的大小降序排序
print_r($array3); 
natsort($array3); // 对数组进行自然排序
print_r($array3); 
natcasesort($array3); // 对数组进行不区分大小写的自然排序
print_r($array3);
print_r(array_keys($array3)); // 获取数组所有下标key
print_r(array_values($array3)); // 获取数组所有记录值
print_r(array_column($array3, 'name')); // 对二维数组操作 获取二维数组中name字段的所有值
array_column($array3, null, 'name'); // 对数组重组,以二维数组中的name字段值为下标
print_r($array3);
  1. 实现发起http请求的方式
<?php
$url = 'https://www.baidu.com';
// GET请求
// 1 file_get_contents直接访问地址获取文件内容
$content1 = file_get_contents($url);
// 2 file_get_contents[stream]
$data = http_build_query([]); // 设置请求参数
$options = ['http' => ['method' => 'GET', 'content' => $data,'header' => 'Content-Type:application/x-www-form-urlencoded','timeout' => 30]];
$content2 = file_get_contents($url, false, stream_context_create($options));
// 3 curl扩展
$ch = curl_init(); // 初始化curl 
// curl_init($url) 初始化直接设置请求地址
curl_setopt($ch, CURLOPT_URL, $url); // 设置请求地址
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 将返回的内容作为变量值,0 是直接输出返回内容
$content3 = curl_exec($ch);
curl_close($ch);

echo base64_encode($content1);
echo PHP_EOL;
echo base64_encode($content2);
echo PHP_EOL;
echo base64_encode($content3);
在这里插入代码片
posted @ 2023-05-29 10:11  mailfor  阅读(0)  评论(0编辑  收藏  举报  来源