当前位置:首页 > CN2资讯 > 正文内容

php笔记php课堂笔记

1天前CN2资讯


将文件转字符串

//将文件转字符串
$content = file_get_contents('./tmp.xlsx');

根据某几个键值相同就去重

$list = $newData = [];
//word,type,style3个相同的去重
foreach ($data as $key => $value) {
if ($key != 0) {
$newData[$value[0]] = $value[1] . ',' . $value[2] . ',' . $value[3];
$list[$value[0]] = $value;
}
}
//获取去掉重复数据的数组
$uniqueArr = array_unique($newData);
//重复数组
$repeatArr = array_diff_assoc($newData, $uniqueArr);
//删除重复
foreach ($repeatArr as $rekey => $revalue) {
unset($list[$rekey]);
}
sort($list);

IdArr

删除空值(去重(获取某值变成一维数组))
$idArr = array_filter(array_unique(array_column($list, 'id')));

php 生成文件txt到指定目录

file_put_contents("c:/zll.txt","内容");

php.ini设置上传临时文件路径

upload_tmp_dir = D:\owen\lswj\

基于php实现base64格式的图片数据如何转成图片

// $base_img是获取到前端传递的值
$base_img = str_replace('data:image/jpg;base64,', '', $code);
// 设置文件路径和命名文件名称
$path = "D:/Uploads/Bar/2019-12-11/";
$output_file = time().rand(100,999).'.jpg';
$path = $path.$output_file;
// 创建将数据流文件写入我们创建的文件内容中
file_put_contents($path, base64_decode($base_img));
// 输出文件
print_r($output_file);


php自定义返回json数据函数

public function result($errno, $message, $data = '') {
ob_clean();//清空输出缓冲区
exit(json_encode(array(
'errno' => $errno,
'message' => $message,
'data' => $data,
)));
}
return $this->result('10014', 'redis connect fail', '');

字符串

//存在某字符,替换字符
if(strpos($compareOdds,"\")!==false){
$compareOdds=str_replace("\",'',$compareOdds);
}//字符串是否存在某字符
strstr($data['tags'], ',')
//字符转数组

$tagsArr = explode(", ", $data['tags']);


/**
* 实现姓名和手机号星号*替换
* @return string
*/
if (!function_exists('mbSubstrReplace')) {
function mbSubstrReplace($string, $replacement, $start, $length = null, $encoding = null)
{
if (extension_loaded('mbstring') === true) {
$string_length = (is_null($encoding) === true) ? mb_strlen($string) : mb_strlen($string, $encoding);

if ($start < 0) {
$start = max(0, $string_length + $start);
} else if ($start > $string_length) {
$start = $string_length;
}

if ($length < 0) {
$length = max(0, $string_length - $start + $length);
} else if ((is_null($length) === true) || ($length > $string_length)) {
$length = $string_length;
}

if (($start + $length) > $string_length) {
$length = $string_length - $start;
}

if (is_null($encoding) === true) {
return mb_substr($string, 0, $start) . $replacement . mb_substr($string, $start + $length, $string_length - $start - $length);
}

return mb_substr($string, 0, $start, $encoding) . $replacement . mb_substr($string, $start + $length, $string_length - $start - $length, $encoding);
}

return (is_null($length) === true) ? substr_replace($string, $replacement, $start) : substr_replace($string, $replacement, $start, $length);
}
}

/**
* 实现姓名*替换
* 马克思:马*思
* 马思:*思
* 马列主义:马*义
* @return string
*/
if (!function_exists('getMaskName')) {
function getMaskName($name)
{
if (mb_strlen($name) > 2) {
return mbSubstrReplace($name, '*', 1, -1);
} else {
return mbSubstrReplace($name, '*', 0, -1);
}
}
}
/**
* 实现手机号星号*替换
* 12345679878:123****9878
* @return string
*/
if (!function_exists('getMaskMobile')) {
function getMaskMobile($mobile)
{
return substr($tel, 0, 3)."****".substr($tel, 7);
}
}

PHP 对象数组和一般的数组的相互转化

/* * 把数组转化成任何你想要的对象类型的数组: */

if (!function_exists('arrayToObject')) {
function arrayToObject($array) {
$aboutVideoArr = array();
if (is_array($array)) {
foreach ($array as $value) {
$video = new Video();
foreach ($value as $key => $val) {
$video->$key = $val;
}
array_push($aboutVideoArr, $video);
}
} else {
$video = $array;
}
return $aboutVideoArr;
}
}

// 把对象转化成普通的数组:
if (!function_exists('objectToarray')) {
function objectToarray($object) {
if (is_object($object)) {
foreach ($object as $key => $value) {
$array[$key] = $value;
}
}
else {
$array = $object;
}
return $array;
}
}

/**
* 生成一批随机数 随机数之合为一个值
* @param $count 随机数个数
* @param $sum 随机数总和
* @param $mix 最小随机数
* @param $max 最大随机数
*/
public function getRand($count, $sum, $mix, $max)
{
ini_set('memory_limit', "1024M");
$i = 1;
while ($i <= $count) {

$tmp[] = mt_rand($mix, $max);
$i++;
}
$k = array_sum($tmp) ? ($sum / array_sum($tmp)) : 0;
$res = [];
foreach ($tmp as $v) {
$res[] = (int)($v * $k);
}
$assoc = $sum - array_sum($res);
$last = array_pop($res);
$res[] = $last + $assoc;
while (max($res) > $max) {
$tmax = max($res);
$key = array_search($tmax, $res);
if ($key !== false) {
$res[$key] = mt_rand($mix, $max);
$k = array_search(min($res), $res);
$res[$k] = $tmax - $res[$key] + min($res);
}
}
return $res;
}

php 数组进行分页

$pagesize = input('limit/d', 20);
$page = input('page/d', 1);
$createTimeArr = getBetweenTimeArr($createTimeStart, date('Y-m-d'));
$count = count($createTimeArr);
$start = ($page - 1) * $pagesize;
$end = $start + $pagesize;
$end = $end > $count ? $count : $end;
$newList = [];

for ($i = $start; $i < $end; $i++) {
$newList[] = $createTimeArr[$i];
}

return $newList;

php获取2个时间内的所有日期

/**

  • 获取2个时间内的所有日期
  • @access public
  • @param string $startDate 开始时间2019-12-30
  • @param string $backDate 结束时间2020-01-02
  • @return array 返回类型
  • array(4) {
  • [0]=>
  • string(10) "2019-12-30"
  • [1]=>
  • string(10) "2019-12-31"
  • [2]=>
  • string(10) "2020-01-01"
  • [3]=>
  • string(10) "2020-01-02"
  • }

*/

function getBetweenTimeArr($startDate, $backDate)
{
if (!$startDate || !$backDate){
return [];
}

$dtStart = strtotime($startDate);
$dt_end = strtotime($backDate);
$getBetweenTimeArr = [];

while ($dtStart <= $dt_end) {
$getBetweenTimeArr[] = date('Y-m-d', $dtStart);
$dtStart = strtotime('+1 day', $dtStart);
}

return $getBetweenTimeArr;
}//2个时间相差几天$start_date 开始时间2019-12-30 $back_date 结束时间2020-01-02
$dimdd = round((strtotime($back_date)-strtotime($start_date))/3600/24)+1;

/**

  • Describe:截取某子字符串前的字符串
  • @param $string 输入字符串
  • @param $beforeString 截取前字符串
  • @return string 截取某子字符串前的字符串
  • Created by zhangzq at 2021/4/26 17:23

*/

function getBeforeString($string, $beforeString)
{
return substr($string, 0, strpos($string, $beforeString));
}

// 截取指定两个字符之间字符串
if (!function_exists('getBetweenString')) {
function getBetweenString($string, $startString, $endString)
{
$substr = substr($string, strlen($startString) + strpos($string, $startString), (strlen($string) - strpos($string, $endString)) * (-1));
return $substr;
}
}

// 截取某子字符串后的字符串

if (!function_exists('getLaterString')) {
function getLaterString($string, $laterString)
{
return substr($string, (stripos($string, $laterString) + strlen($laterString)));
}
}//第一个字符是否为“
if (substr($compareOdds, 0, 1) == '"') {
//删除第一个字符
$compareOdds = substr($compareOdds, 1);
}
//最后一个字符是否为“
if (substr($compareOdds, -1, 1) == '"') {
//删除最后一个字符
$compareOdds = substr($compareOdds, 0, -1);
}


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/32411.html

    标签: php笔记
    分享给朋友:

    “php笔记php课堂笔记” 的相关文章

    中国电信CN2网络费用解析:高效稳定,助力全球互联

    在全球化快速发展的今天,企业对国际网络的需求日益增长。无论是跨国企业的数据传输、海外分支机构的互联,还是个人用户对高质量国际带宽的需求,中国电信CN2网络凭借其卓越的性能和稳定的连接,成为了用户的首选。随着需求的增加,用户对CN2网络的费用结构也愈发关注。本文将深入解析中国电信CN2网络的费用体系,...

    日本VPS全面解析:高性能、低延迟的最佳选择

    日本VPS因其独特的地理位置和卓越的性能,成为许多用户的首选。日本作为亚洲的科技中心,拥有先进的网络基础设施和稳定的电力供应,这为VPS服务提供了坚实的基础。无论是个人用户还是企业用户,日本VPS都能满足多样化的需求。 日本VPS的优势 日本VPS的最大优势在于其地理位置。日本位于亚洲的中心地带,连...

    PVE虚拟机网络配置优化:实现互传速度最快的终极指南

    PVE(Proxmox VE)作为一个基于Linux的虚拟化平台,其网络配置与Windows系统有着明显的不同。在PVE中,网络配置的核心是Linux Bridge,它充当虚拟交换机,允许虚拟机直接使用物理网络。默认情况下,PVE安装时会自动创建一个名为vmbr0的网桥,并将其与服务器的第一块网卡桥...

    iHerb优惠码使用指南:最大化你的购物折扣

    在现代生活中,网络购物已经成为很多人日常消费的一部分,尤其是像iHerb这样的电商平台,提供了丰富的天然保健品和生活必需品。对于我们消费者来说,iHerb优惠码就是一个能够让购物更加实惠的绝佳工具。 iHerb优惠码是一种特殊的代码,用户在结账时输入这些代码,就可以享受相应的折扣。无论是新用户还是老...

    深度解析韩国makemodel:传统与现代结合的时尚理念

    markdown格式的内容 韩国makemodel概念 谈到韩国makemodel,我首先感受到了它所传递的深厚文化底蕴。这一时尚理念融合了传统与现代,不仅仅是对衣物的设计,更是一种对韩国文化的致敬。它通过巧妙的配搭,将历史悠久的韩服元素与现代流行趋势相结合,创造出一种独特的美学风格。每一件作品都像...

    Zgo VPS:高性能虚拟专用服务器的最佳选择

    在2021年,ZgoCloud(最初名为Zgovps)如雨后春笋般成立于美国特拉华州。作为一家新兴的技术公司,我们专注于提供高性能的虚拟专用服务器(VPS),这让我对公司的前景充满了期待。我们最初的使命是为各种用户提供可靠的网络解决方案,而现在我们已经成长为行业内的一股重要力量。 我们的全球数据中心...