首页
自习室
互通有无
搞钱日记
养生记
包罗万象
Search
1
解决 docker run 报错 oci runtime error
49,311 阅读
2
WebStorm2023最新激活码
27,531 阅读
3
互点群、互助群、微信互助群
22,706 阅读
4
常用正则表达式
21,525 阅读
5
罗技鼠标logic g102驱动程序lghub_installer百度云下载windows LIGHTSYNC
19,253 阅读
自习室
CODER
课程
SEO
学习视频
手册资料
呆萌
工具软件
运维
DBA
互通有无
微信群
兑换码
资源
搞钱日记
养生记
包罗万象
Search
标签搜索
DeepSeek
学习指北
Loong
累计撰写
173
篇文章
累计收到
0
条评论
首页
栏目
自习室
CODER
课程
SEO
学习视频
手册资料
呆萌
工具软件
运维
DBA
互通有无
微信群
兑换码
资源
搞钱日记
养生记
包罗万象
页面
搜索到
36
篇与
的结果
2023-09-11
利用Elasticsearch实现高效的定位坐标排序
前言随着移动应用和地理位置服务的不断发展,如何快速准确地进行位置排序成了一个重要的问题。Elasticsearch 提供了一种有效的解决方案,允许我们利用其Geo-point数据类型和地理查询功能实现定位坐标的排序。提纲简介Elasticsearch 的安装与配置数据模型设计实现代码服务部署总结与展望流程图客户端发送位置信息服务器接收位置信息并存储到Elasticsearch运行地理位置查询返回排序后的结果实现代码<?php // 配置Elasticsearch客户端 $hosts = ['http://localhost:9200']; $client = Elasticsearch\ClientBuilder::create()->setHosts($hosts)->build(); // 索引一些坐标点 $params = [ 'index' => 'my_index', 'id' => '1', 'body' => [ 'location' => [ 'lat' => 40.7128, 'lon' => -74.0060 ] ] ]; $client->index($params); // 执行地理位置查询 $params = [ 'index' => 'my_index', 'body' => [ 'query' => [ 'bool' => [ 'filter' => [ 'geo_distance' => [ 'distance' => '10km', 'location' => [ 'lat' => 40.7128, 'lon' => -74.0060 ] ] ] ] ], 'sort' => [ '_geo_distance' => [ 'location' => [ 'lat' => 40.7128, 'lon' => -74.0060 ], 'order' => 'asc', 'unit' => 'km' ] ] ] ]; $results = $client->search($params);服务部署安装Elasticsearch配置PHP Elasticsearch 客户端库部署代码到服务器总结与展望通过使用Elasticsearch,我们能有效地进行地理位置排序。虽然这里只是一个基础的示例,但它为进一步的扩展和优化提供了基础。
2023年09月11日
3,921 阅读
0 评论
2 点赞
2022-01-16
JS实现页面缩放解决适配问题
JS实现页面缩放解决适配问题好处:不用考虑适配问题,按设计稿进行固定尺寸开发。将下面这段 js 放在页面的<head>中即可function bodyScale() { var devicewidth = document.documentElement.clientWidth; var scale = devicewidth / 1920; // 分母——设计稿的尺寸宽度 document.body.style.zoom = scale; } window.onload = window.onresize = function () { bodyScale(); };然后只需要按照设计稿的比例正常进行开发即可,直接使用px,会根据屏幕的尺寸进行缩放,真的很省心
2022年01月16日
10,394 阅读
0 评论
22 点赞
2019-11-12
PHP常见面试题
1. 问题:经常浏览那些技术性网站? v2ex,csdn2. 问题:写出五个与数组相关的函数。array_chunk 、array_unique、sort、array_column、array_merg3. 问题:“===”是什么?与“==”有什么区别?试举一个例子?=== 是全等 要求值和类型相等== 要求值相等,不判断类型4. 写出PHP序列化与JOSN相关的函数?如果要保存到数据库,你选择哪一种,为什么?JSON序列化和反序列化json_encode($arr)、json_encode($arr, true)json_encode($arr)5. 用过的PHP框架,博客/CMS系统,及商城系统有哪些?哪个最熟悉?用过的框架ThinkPHP5,cms:dedecms、fastadmin,商城:EcShop 6. MYSQL中常用的表类型(存储引擎)有哪些? Mysql存储引擎,myisam、innodb7. Composer是什么?PSR(PHP Standards Recommendations)是什么意识/大概包含什么内容?Composer是PHP包依赖管理工具 8. Session与Cookie的区别?如何设置一个严格30分钟过期的Session?Session严格30分钟过期1. 设置Cookie过期时间30分钟, 并设置Session的lifetime也为30分钟.2. 自己为每一个Session值增加Time stamp.3. 每次访问之前, 判断时间戳. 1,冒泡排序很实用要记得 functionmaopao($arr){ $len=count($arr); $n=count($arr)-1; for($i=0;$i<$len;$i++){ for($j=0;$j<$n;$j++){ if($arr[$j]<$arr[$j+1]){ $temp=$arr[$j+1]; $arr[$j+1] =$arr[$j]; $arr[$j] =$temp; } } } return $arr;}2,快速排序functionquick_sort($array) { if(count($array) <= 1)return $array; $key=$array[0]; $left_arr=array(); $right_arr=array(); for($i=1;$i<count($array);$i++){ if($array[$i] <=$key) $left_arr[] =$array[$i]; else $right_arr[] =$array[$i]; } $left_arr= quick_sort($left_arr); $right_arr= quick_sort($right_arr); return array_merge($left_arr,array($key),$right_arr); }
2019年11月12日
5,547 阅读
0 评论
17 点赞
2019-09-13
常用正则表达式
([\s\S]*?) 表示任意多个字符,换行也可以匹配 ([\s*]+) 匹配一个或多个空格 ([\s,]+) 匹配多个空格或逗号 ([,]+) 匹配多个逗号 /php/i 不区分大小写 ^ $ 匹配开始结束字符 . 匹配除换行以外字符串 ? 0次 或 1次 等价{0,1} * 0次 或 多次 等价{0,} + 1次 或 多次 等价{1,} - 表示范围 [] 开始结束字符类定义 \d 任意10进制数字 [0-9] \s 任意空白字符 单个 \S 任意非空白字符 \w 任意单词字符 等价[a-zA-Z0-9] (?:中国|美国)(.*) 匹配中国,美国开头的字符串 (\d+\.\d+\.\d+\.\d+) IP ([a-zA-Z][a-zA-Z0-9_]) 匹配是否合法字母开头 (\d-\d|\d-\d) 电话号码 [1-9][0-9] qq ^[\w\.\-]+@\w+([\.\-]\w+)*\.\w+$ email href="(.*?)" 超链接/^\d{1,6}$/ 匹配0-999999/\d{4}年\d{1,2}月\d{1,2}/ 匹配年月日preg_math 匹配一次,成功返回 truepreg_match("/\<center>([\s\S]*?)<\/center\>/",$str,$rs);preg_match_all匹配多次,成功返回truepreg_match_all("/\<center>([\s\S]*?)<\/center\>/",$str,$rs);preg_replace 匹配替换,替换成$re$rs =preg_replace("/\<center>([\s\S]*?)<\/center\>/",$re,$str);preg_split分割成数组$arr = preg_split('/([\s*]+)/',"a b c d ef");替换$str = "选项[http://127.0.0.1/weixin/addons/yoby_diyform/weui/fm.jpg]你好"; $str1 = preg_replace("/(?:\[)(.*?)(?:\])/i", "<img src=\"\${1}\" />", $str);preg_replace("/.*\|(.*?)\|.*/i", "\${1}", $v); 字符|120000|来了 输出120000\s+ 多个空白[^>] >左边任意字符.*? 任意多个字符\d+ 匹配数字/*获取html并用正则处理*/function get_content($url){ $html = file_get_contents($url); $code= mb_detect_encoding($html, array("GB2312","GBK",'UTF-8','BIG5'));//获取编码 if($code!="UTF-8"){ $htmls = mb_convert_encoding($html, "UTF-8", $code);//转换内容为UTF-8编码 }else{ $htmls = $html; } $htmls = preg_replace("/<script[\s\S]*?<\/script>/i","",$htmls,-1);//去除script $htmls = preg_replace("/<noscript[\s\S]*?<\/noscript>/i","",$htmls,-1);//去除noscript $htmls=preg_replace("/<(\/?link.*?)>/si","",$htmls);//去掉link $htmls=preg_replace("/<(style.*?)>(.*?)<(\/style.*?)>/si","",$htmls);//去掉style $htmls =preg_replace("/style=.+?['|\"]/i",'',$htmls,-1);//去除style行内样式 $htmls =preg_replace('#<!--[^\!\[]*?(?<!\/\/)-->#' , '' , $htmls);//去掉html注释 $htmls = preg_replace("/<a[^>]*>(.*?)<\/a>/is", "$1", $htmls);//去除外站超链接 $htmls = preg_replace("/(\n\r)/i", '', $htmls); //去掉空行 return $htmls;} preg_match('/<div class="infoBox-list".*?>.*?<div class="news-page clearfix">/ism', $htmls, $rs); $htmls = $rs[0];//获取两个class之间内容 $url = (preg_match('/^http(s)?:\\/\\/.+/',$url))?$url:"http://".$url;//判断是否包含https/httppreg_match("/src=\"\/?(.*?)\"/",$content,$match);第一张图片[\u4e00-\u9fa5]{0,} 匹配中文 \d+ 匹配>=0数字[a-zA-Z]+ 不区分大小写26个字母[A-Za-z0-9]+ 英文与数字 \s+ 多个空格[0-9]* 匹配一串数字 \d{4} 匹配四位数字 \d{5,} 匹配至少5位数 \d{4,10} 匹配4-10位数
2019年09月13日
21,525 阅读
0 评论
2 点赞
2019-09-13
二分查找算法
二分查找思路分析:数组中间的值floor((low+top)/2)先取数组中间的值floor((low+top)/2)然后通过与所需查找的数字进行比较,若比中间值大则将首值替换为中间位置下一个位置,继续第一步的操作;若比中间值小,则将尾值替换为中间位置上一个位置,继续第一步操作重复第二步操作直至找出目标数字function BinaryQuery(array $container, $search){ $top = count($container); $low = 0; while ($low <= $top) { $mid = intval(floor(($low + $top) / 2)); if (!isset($container[$mid])) { return '没找着哦'; } if ($container[$mid] == $search) { return $mid; } $container[$mid] < $search && $low = $mid + 1; $container[$mid] > $search && $top = $mid - 1; }}递归版 二分查找function BinaryQueryRecursive(array $container, $search, $low = 0, $top = 'default'){ $top == 'default' && $top = count($container); if ($low <= $top) { $mid = intval(floor($low + $top) / 2); if (!isset($container[$mid])) { return '没找着哦'; } if ($container[$mid] == $search) { return $mid; } if ($container[$mid] < $search) { return BinaryQueryRecursive($container, $search, $mid + 1, $top); } else { return BinaryQueryRecursive($container, $search, $low, $mid - 1); } }}
2019年09月13日
5,570 阅读
0 评论
1 点赞
1
2
...
8