zoukankan      html  css  js  c++  java
  • 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)

    参考: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>";
    }

    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;
        }
    }

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

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

    赞赏码

    非学,无以致疑;非问,无以广识

  • 相关阅读:
    as3单播放mp3的cpu占用和windows上的media player差不多,占用很低
    Flash的Socket
    30个高质量的免费jquery滑块PSD文件
    40个创意的女性图片照片处理实例
    40个高品质各行各业免费3D样式PSD图标文件分享
    25美丽大气的jQuery滑块插件推荐
    40个金黄色的夏季摄影色彩推荐
    GNU make manual 翻译( 一百七十二)
    GNU make manual 翻译( 一百七十四)
    GNU make manual 翻译( 一百七十三)
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15452535.html
Copyright © 2011-2022 走看看