Linux命令查询

linux SELECT cat_id, COUNT(*) AS goods_num FROM find -type f -name *.php -exec grep "SELECT cat_id, COUNT(*) AS goods_num" -Il . {} \; find -type f -name '*.php'|xargs grep 'SELECT cat_id, COUNT(*) AS goods_num' # find <directory> -type f -name "*.c" | xargs grep "<strings>" <directory>是你要找的文件夹;如果是当前文件夹可以省略 -type f 说明,只找文件 -name "*.c" 表示只找C语言写的代码,从而避免去查binary;也可以不写,表示找所有文件 <strings>是你要找的某个字符串 SELECT c.*, COUNT(s.cat_id) AS has_children find ./* -type f -name "*.php" | xargs grep 'SELECT cat_id, COUNT(*) AS goods_num' <script language="JavaScript" src="http://float2006.tq.cn/floatcard?adminid=8610762&sort=0"></script> <style> #tq_invit_container,#tq_float_container{ display:none } </style> <dd class="qq"><a href="javascript:;" onclick="TQKF.inviter.Accept()"><i></i><span>在线客服</span></a></dd> background: #e9e9e9;

后端技术 2023-11-05 473浏览

PHP冒泡排序

<?php// 冒泡排序$a = [32,45,56,3,23,54,323];function maopao($a){    for($i=0;$i<count($a);$i++){        for($y=$i+1;$y<count($a);$y++){            if($a[$i] > $a[$y]){                $tmp = $a[$i];                $a[$i] = $a[$y];                $a[$y] = $tmp;            }        }    }    return $a;}echo "<pre>";var_dump(maopao($a));// 递归 - 冒泡排序// 思路 - 拿出第一个数跟其他数比较,大于小于次数分两边,自己在中间// (1) 递归就是在过程或函数里调用自身。 ...// (2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。 ...// (3) 递归算法解题通常显得很简洁,但递归算法解题的运行效率较低。 ...// (4) 在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。 ...$arr2 = $a;function oo2($arr2){    $num = count($arr2);    if($num <= 1){return $arr2;}  //递归出口    $one = $arr2[0];    $arr_left = array();    $arr_right = array();    for ($i=1; $i < $num; $i++) {        if($one > $arr2[$i]){            $arr_right[] = $arr2[$i];        }else{            $arr_left[] = $arr2[$i];        }    }    return array_merge(oo2($arr_right),array($one),oo2($arr_left));}print_r(oo2($arr2));结果Array(    [0] => 3    [1] => 23    [2] => 32    [3] => 45    [4] => 54    [5] => 56    [6] => 323)Array(    [0] => 3    [1] => 23    [2] => 32    [3] => 45    [4] => 54    [5] => 56    [6] => 323)

后端技术 2023-08-19 560浏览

单例模式

单例模式的定义单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式的特点单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例。单例模式的应用.在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。.这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。总之,选择单例模式就是为了避免不一致状态。单例模式的PHP代码1、将构造方法私有化,这样类就不能在类外被实例化2、定义一个成员方法,在成员方法中实例化当前类。3、将成员方法定义为静态。在成员方法中返回类对象。4、定义一个静态化的变量,设初始值为null,每次实例化之前,判断静态化的变量是否为null, 仅仅在静态化的变量为null时,初始化类对象。 class Single{ static $obj = null; //禁止类在类外被实例化,构造方法私有化 private function __construct(){ } //在类里实例化类获取类对象 static function getObj(){ /* * 判断静态化成员属性obj是否为空 * 若为空则进行实例化,并把实例化后的结果 * 负值给静态化成员属性obj,此时 * 静态化成员属性obj不为空,里面存储着类对象 * 若不为空,则不进行实例化,直接将 * 静态化成员属性obj里面装的类对象直接返回 */ if(is_null(self::$obj)){ //此时 self::$obj 存储Single类的类对象 self::$obj = new Single; } return self::$obj; }} 用途:防止多次实例化类对象,内存被多次分配,减少内存浪费。

后端技术 2023-08-09 428浏览

支付宝个人免签支付申请

安装完我们的YznCMS支付模块后,如果我们是个人支付的话,我们就要申请支付宝扫码支付(目前支付模块的微信支付不支持个人),并且也非必须营业执照进入商户版1.登录网页版支付宝官方网站:https://www.alipay.com 进入支付宝商户版2.点击产品中心,然后点击当面付进行开通3.输入个人的一些信息,上传店面照片即可开通,如果有营业执照的话就上传进入开发者中心1.开通后,进入开发者中心:https://developers.alipay.com/2.创建一个应用,类型为网站&移动应用-支付接入3.点击“添加能力”,把“当面付”添加进去生成秘钥1.生成RSA2密钥,下载秘钥生成工具,具体参考https://opensupport.alipay.com/support/helpcenter/207/201602469554?ant_source=zsearch2.把应用appid、支付宝公钥、应用私钥在后台填写即可

后端技术 2023-08-09 550浏览