2021年7月总结

2021年7月总结

大家好,又见面了,我是全栈君。

1.页面中有如下代码片段:

<img src="x.jpg" id="img1" title="xx" sina_title="" alt="">

使用javascript 的什么方法获取节点对象:

答: document.getElementsById(‘img1’)

document.getElementsById(‘element’):可获取指定id对象集合,例如id为element的input标签对象。

document.getElementsByName(“element”):可获取带有指定名称的对象的集合,例如name为element的input标签对象。

document.getElementsByTagName(“Input”):可获取带有指定标签名的对象集合,例如input标签对象。

.parentNode表示获取其父节点对象,.childNodes表示获取其子节点对象。

var Element = document.getElementById(“ul1”).getElementsByTagName(“li”);//获取ul1的所有子元素,返回的是一个集合。
var Element = document.getElementById(“ul1”).childNodes;

2.使用什么方法获取该节点对象的title属性的值:

答: var imgObj= document.getElementsById(‘img1’)

     imgObj.attr(‘title’) //$(document).attr(“title”);

3.用PHP获取昨天的日期代码(格式2009-05-06):

答:

echo date('Y-m-d',time()-24*3600);
echo date('Y-m-d',strtotime('-1 days'));

4.对数组进行逆向排序并保持索引关系的函数式,将字符串转成小写的函数,字符串翻转函数?

:krsort strtolower,strrev

//krsort
function dd($data)
{
    echo "<pre>";
    print_r($data);
    echo "<pre>";
}
$content = array('id' => 1, 'name' => '小红', "score" => 90);
krsort($content);
dd($content);

//结果:
Array
(
    [score] => 90
    [name] => 小红
    [id] => 1
)

//strtolower
echo strtolower("ABC");//abc

5.error_reporting(E_ALL)和ini_set(‘display_errors’,on)关系是:

error_reporting(E_ALL):报告所有错误
ini_set('display_errors',on):打开报错机制
后者的权限大于前者,后者是OFF的话,前者就算是E-ALL也没用;

相同之处

两者都可以控制是否显示错误信息

不同之处

ini_set(‘display_errors’,[0|1]);只能控制是否打开错误显示,不能控制显示的错误级别
error_reporting()可以控制显示的错误级别

6.有字符串”1,2,3″可以按逗号拆分为字符串的数组的PHP函数是:explode

将数组元素换成字符串的函数: join,implode

写出正则表达式,过滤网页上所有的js脚本: /<script[^>]*?>.*?<\/script>/si

7.PHP可以执行系统命令的函数是:

exec(); system(), shell_exec();  paththru();   popen();proc_open(); pcntl_open()

PHP不可使用的函数都在这里(php.ini)

2021年7月总结

参考:PHP执行系统命令函数

system

echo system("whereis php")."<br/>";
echo system("whoami")."<br/>";
echo "<hr>";

echo passthru("who")."<br/>";
echo passthru("whoami")."<br/>";

echo "<hr>";

echo "exec:".exec("whoami")."<br>";

exec("php-fpm -i | grep php.ini",$arr[]);
dd($arr);

echo "反撇号:".`whoami`;

echo popen("whoami >> /tmp/text.txt","w"); //将whoami 内容写入 text.txt 文件


$test = "ipconfig";
$array =   array(
    array("pipe","r"),   //标准输入
    array("pipe","w"),   //标准输出内容
    array("pipe","w")    //标准输出错误
);

$fp = proc_open($test,$array,$pipes);   //打开一个进程通道
echo "试试".stream_get_contents($pipes[1]);    //为什么是$pipes[1],因为1是输出内容
proc_close($fp);

echo pcntl_exec( "/bin/bash" , array("whoami")); //需要安装pcntl,是linux下的一个扩展



//    $test = "/home/wwwroot/default/newproject/bak";
//    $fp = popen($test,"w");  //popen打一个进程通道
//    //var_dump($fp);
//    while (!feof($fp)) {      //从通道里面取得东西
//        $out = fgets($fp, 4096);
//        echo  $out;         //打印出来
//    }
//    pclose($fp);


function dd($data)
{
    echo "<pre>";
    print_r($data);
    echo "<pre>";
}

2021年7月总结

8.重写路径 list-123-1.html 到 list.php?fid=10123&page=1需要在apache 配置中增加如下规则:

RewriteRule ^list-(w+)-(w+)?$list.php?fid=$1&page=$2 

参考:Apache URL重写规则
RewriteEngine ON 
RewriteRule  ^user/(w+)/?$user.php?id=$1

^:输入的开头  以user/开头请求的地址

(w+):提取所有的字母,传给$1

/?:可选斜杠

$:结束符

替换为:user.php?id=*

注意:有些apache(具体哪个版本忘啦)不兼容简写模式 w+ => [a-zA-Z_-]

9.php 中将$price 格式化小数并保留两位小数

number_format(“带格式化的数字”,”保留小数点之后位数”,”小数点分隔符”,”千分位分隔符”);

$price=78.3;
echo number_format($price,2)."<br/>"; //78.30

echo  number_format("100000000")."<br/>";//100,000,000
echo  number_format("100000000",2)."<br/>";//100,000,000.00 保留两位小数
echo  number_format("100000000",2,'.','')."<br/>"; //100000000.00  注意第三和第四参数,要么一起传参,要么都不传。否则会输出空字符串。
echo  number_format("100000000",2,',','.')."<br/>"; //100.000.000,00  正好跟第二个相反

定义和用法

number_format() 函数通过千位分组来格式化数字。

注释:该函数支持一个、两个或四个参数(不是三个)。


语法

number_format(number,decimals,decimalpoint,separator)

参数 描述
number 必需。要格式化的数字。如果未设置其他参数,则数字会被格式化为不带小数点且以逗号(,)作为千位分隔符。
decimals 可选。规定多少个小数。如果设置了该参数,则使用点号(.)作为小数点来格式化数字。
decimalpoint 可选。规定用作小数点的字符串
separator 可选。规定用作千位分隔符的字符串。仅使用该参数的第一个字符。比如 “xxx” 仅输出 “x”。

注释:如果设置了该参数,那么所有其他参数都是必需的。

程序题1:算出两个文件的相对路径,如$a=” /a/b/c/d/e.php”; $b=” /a/b/12/34/c.php”; 计算出$b 相对$a 的相对路径(写出思路)

//$b 相对$a 的相对路径
$a = "/a/b/c/d/e.php";
$b = "/a/b/12/34/c.php";

$aArr=explode('/',$a);
$bArr=explode('/',$b);
$diffArr=array_diff($bArr,$aArr);
echo join('/',$diffArr); //  12/34/c.php

程序题2: 使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组

二分查找(数组里查找某个元素)

function bin_sch($array, $low, $high, $k)
{
    if ($low <= $high){
        $mid = intval(($low+$high)/2);
        if ($array[$mid] == $k){
            return $mid;
        }elseif ($k < $array[$mid]){
            return bin_sch($array, $low, $mid-1, $k);
        }else{
            return bin_sch($array, $mid+1, $high, $k);
        }
    }
    return -1;
}

顺序查找(数组里查找某个元素)

function seq_sch($array, $n, $k)
{
    $array[$n] = $k;
    for($i=0; $i<$n; $i++){
        if($array[$i]==$k){
            break;
        }
    }
    if ($i<$n){
        return $i;
    }else{
        return -1;
    }
}

第一个参数是个数组,第二个应该是个下标键,第三个是个值。返回的是个你找的函数的下标值.

(以上是自己的一些见解与总结,若有不足或者错误的地方请各位指出)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111509.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java.lang.NoSuchMethodException: <init>[通俗易懂]

    java.lang.NoSuchMethodException: <init>[通俗易懂]报错信息(捡重要的):java.lang.NoSuchMethodException:com.mmall.pojo.OrderItem.&lt;init&gt;(java.lang.Integer,java.lang.Integer,java.lang.Long,java.lang.Integer,java.lang.String,java.lang.String,java.m…

  • 微服务架构-实现技术之三大关键要素2数据一致性:分布式事物+CAP&BASE+可靠事件模式+补偿模式+Sagas模式+TCC模式+最大努力通知模式+人工干预模式

    微服务架构-实现技术之三大关键要素2数据一致性:分布式事物+CAP&BASE+可靠事件模式+补偿模式+Sagas模式+TCC模式+最大努力通知模式+人工干预模式目录一、分布式事物:本地事务和分布式事务(2PC+3PC)+传统分布式事务的问题(一)本地事务和分布式事务(2PC+3PC)(1)两阶段提交协议2PC(2)三阶段提交协议3PC(二)对于微服务,传统分布式事务存在的问题二、CAP理论和BASE思想1.CAP理论一致性Consistency:可用性Availability:分区容错性PartitionToler…

  • c#窗体怎么居中_窗口居中

    c#窗体怎么居中_窗口居中窗体始终居桌面中央显示,需要考虑以下两个方面:(1).窗体距离桌面左部边缘与桌面的宽度以及自身宽度的判断;(2).窗体距离桌面上边缘与桌面的高度以及自身高度的判断下面用代码一一实现,当然这都是在窗体加载时完成this.Left=Screen.PrimaryScreen.Bounds.Width/2-this.Width/2;//桌面的宽度的一半减去自身宽的的一半this…….

  • C# bindingnavigatro删除事件修改&&遍历指定容器的控件

    C# bindingnavigatro删除事件修改&&遍历指定容器的控件bindingnavigatro自带的事件,不能修改,如果想在删除前加入提醒,需要做以下改变:1、在bindingnavigatro图标上点右键,选 编辑项2、删除系统默认带的Dele

  • 支付风控模型

    支付风控模型支付风控数据仓库建设 。支付风控涉及到多方面的内容,包括反洗钱、反欺诈、客户风险等级分类管理等。其中最核心的功能在于对实时交易进行风险评估,或者说是欺诈检测。如果这个交易的风险太高,则会执行拦截。由于反欺诈检测是在交易时实时进行的,在要求不能误拦截的同时,还有用户体验上的要求,即不能占用太多时间,一般要求风控操作必须控制在100ms以内,对于交易量大的业务,10ms甚至更低的性能要求都是必须的。

  • idm下载百度网盘有限制 提示403错误 下载显示没有权限404,最新的解决办法教程

    idm下载百度网盘有限制 提示403错误 下载显示没有权限404,最新的解决办法教程近期idm下载百度网盘速度在20k/s-50k/s左右,针对这个问题,在2020年10月25日,百度网盘直链提取作者更改了下载接口,速度又能达到nm/s了。user-agent需要更改为netdisk没有了下载数的限制,可以尽可能把下载线程拉高以提高下载速度,服务器可以不填写了,支持同时下载多个文件,不会再提示403错误了以下为测试截图我用的是校园网,每秒接近三M已经很快了,一百多M的视频几秒钟就完事儿了,还是很赞的!如果大家喜欢今天的推文的话,希望大家支持一下小编,点个在看啥的,谢谢大家!今

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号