PHP基本常识

$_SERVER 是超级全局数组
$_POST
$_GET
<?php
//isset检测变量是否设置,并且不是 NULL。
$var = '';
if(isset($var)) {
    echo "Hello";
}else{
    echo "World";
}

if(isset($a)) {
    echo "exit";
}else{
    echo "null";
}
1. 引入文件
     include 文件找不到,下面继续执行
     require 文件找不到,下面不再执行。 

2. PHP中的echo ,print , print_r 的区别。
    echo是语言结构,无返回值;
    print功能和echo基本相同,不同的是print是函数,有返回值;
    print_r是递归打印,用于输出数组对象。
    var_dump() 能打印出类型


3. PHP有几种访问修饰符,并写出其含义。
    public(公有): 父类内部、父类外部、子类内部都可以访问。
    protected(受保护):父类内部可访问、父类外部不可访问,子类内部可访问
    private (私有) :父类内部可以访问,父类外、子类都不可访问。

4.PHP面向对象的三大特性
    封装 :就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
    继承:是指可以让某个类型的对象获得另一个类型的对象的属性的方法,它支持按级分类的概念。
    多态:就是指一个类实例的相同方法在不同情形有不同表现形式。


5.php中数组转json字符串 和 json字符串转数组方法分别是
    将PHP数组转成JSON字符串使用, json_encode
    将JSON字符串转成PHP数组使用, json_decode

6.说明文件操作权限中a、a+、r、r+、w、w+分别是什么意思。
    1.r 打开只读文件,该文件必须存在。
    2.r+ 打开可读写的文件,该文件必须存在。
    3.w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
    4.w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
    5.a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
    6.a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。

7.$mysql->query()执行sql语句返回值有哪些
    1.insert、update、delete语句返回true或者false 
    2.select查询语句返回mysqli_result对象或者false 

8.代码实现,PHP建立数据库链接,打开数据库并设置编码格式为utf8.并标明注释。(10分)
     $conn=@mysql_connect("localhost","root","") or die ("链接失败");
     mysql_select_db("dllo",$conn);
     mysql_query("set names 'utf8'");

9.
让文件输出的是图片而不是字符串:header("Content-type: image/png");
php页面为utf编码  header("Content-type: text/html; charset=utf-8"); 

1.AJAX原理是什么?并说明优缺点。
    通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript回调函数来操作DOM而更新页面。
    优点:
        1.页面不需要更新便可更新数据,减少用户等待时间,用户体验非常好。
        2.异步与服务器通信,不需要打断用户操作,响应速度快。
        3.减少数据传输,降低网络数据流量。
    缺点:
        1.AJAX不刷新页面进行数据加载,同时History和Back功能也被取代。破坏浏览器的机制。
        2.AJAX安全性低。

2.代码实现,利用原生AJAX实现一个网络请求,url随意。
        var ajaxObj;
        if (window.XMLHttpRequest){ 
            ajaxObj = new XMLHttpRequest(); 
        } else { 
            ajaxObj = new ActiveXObject("Microsoft.XMLHTTP");  
        }
        ajaxObj.onreadystatechange = function(){ 
        if (ajaxObj.readyState == 4 && ajaxObj.status == 200){  
            console.log(ajaxObj.responseText); 
           }
        }
        ajaxObj.open("GET", "01.php", true); 
        ajaxObj.send(); 

3.JSON数据如何转化成字符串,字符串如何转化成JSON数据? 
        1.json_encode():数组转json字符串
        2.json_decode():字符串转数组或对象
------------------------------------------------
在js中,把json字符串转换成对象
console.log(JSON.parse( '{"a":1,"b":2,"c":3,"d":4,"e":5}'));

Object
a:1
b:2
c:3
d:4
e:5
----------------------------------------------
<?php 
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); 
echo json_encode($arr); 
?> 

{"a":1,"b":2,"c":3,"d":4,"e":5} 
---------------------------------------------
<?php 
    $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; 
    var_dump(json_decode($json)); 
    var_dump(json_decode($json, true)); 
?> 
------------------------返回--------------------------
object(stdClass)#1 (5) { 
    ["a"] => int(1) 
    ["b"] => int(2) 
    ["c"] => int(3) 
    ["d"] => int(4) 
    ["e"] => int(5) 
} 

array(5) { 
    ["a"] => int(1) 
    ["b"] => int(2) 
    ["c"] => int(3) 
    ["d"] => int(4) 
    ["e"] => int(5) 
} 

-----------------------------------------------------
4.前端和PHP如何解决跨域问题。 
        前端:script标签中,src引入php文件,并且拼接key和value值,把js里的方法名传递给PHP 
        后端:接收到前端传过来的方法名,在PHP端调用js方法。把数据传回前端。从而实现跨域问题。

5.PHP的session的作用是什么?
        PHP session变量用于存储有关用户会话信息,或更改用户会话设置,
        它为每个访问用户创建一个为一个id,并基于这个id来存储变量。
        存储下来的变量可供应用程序中的所有页面使用。

6.什么是bootstrap? 
        是一个用于快速开发 Web 应用程序和网站的前端框架。
        是基于HTML、CSS、JAVASCRIPT 的。


7.使用bootstrap进行流式布局和响应式布局区别是什么?
        bootstrap需要为页面内容包裹一个容器。
        流式布局包裹的容器类为:container-fluid
        响应式布局包裹的容器类为:container

8.说明什么是栅格系统。
        bootstrap提供的一套响应式、移动设备优先的流式系统,随着屏幕或视口的增加,
        系统会自动分为最多12列的布局,通过操作这12列布局,来完成响应式功能。

9.栅格系统的工作原理。
        通过一系列的行row和列column的组合来创建页面布局的,内容就放在这些布局中即可。
        所有的栅格必须放在row类下,每个row最多12个column,
        通过对这12个column的占位大小、偏移、嵌套列、列排序等操作实现响应式功能。

10.什么是Less?
        Less是一门css预处理语言,它扩展了css语言,增加了变量、Mixin混合、函数等特性,使css更易维护和扩展。

keywords

关键字 :final
当定义类的时候该类将不能被继承,当用来定义方法的时候该方法将不能被重载。

<?PHP

 finall class People{
        public $name="王小明";
        finall function power(){
        echo $this->name.",不想上课";
    }
}
class littlePeople extends People{

    }
    $p=new People();
    $p->power();
?>
Parse error: syntax error, unexpected 'class' (T_CLASS) in D:\wamp\www\test\keywords.php on line2

关键字 :self

$this相类似,但是$this 需要类实例化,self可以直接访问类中的内部成员

关键字static
用来定义类的静态属性或方法,可以在类未被实例化时使用个,静态属性单独占用内存而不会因创建多个对象时而导致同样的方法或者属性重复占用

<?php
  class People{
     static $name="王小明";
     private $name1="王大明";
     function power(){
         echo self::$name.",self不需要实例化,就可以访问当前类中的成员<br/>";
         echo $this->name1;
    }
}
    $p=new People();
    $p->power();
?>

关键字const
只能修饰类当中的成员属性,用来修饰常量(大写,不用$)

<?php
  class People{
    const NAME="王小明";
    function power(){
         echo self::NAME;
    }
}
    $p=new People();
    $p->power();
?>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值