PHP

2017-08-24  本文已影响0人  _Enco_

PHP

<?php
  echo 'hello world';
?>

基本语法

<?php
  echo 'hello world';
?>
<? php 
  for($I = 1;$I <10;$I++){
    echo $I . PHP_EOL;
}
?>
echo '输出字符串';
var_dump(任意类型数据);
exit(); //该语句执行完成以后,不会再有往下执行;

php变量

$ //$后面跟字母、数字、下划线(、中文)
$a = 1; //声明了一个整型变量
$b = 2.03;
$c = '12\'3';
$var1 = 'name';
$name = '123';
echo $$var1; // 打印 123 
$username1 = 'enco';
$username2 = 'www';
$username1 = $username2;
echo $username1; // 打印www
$username1 = 'enco';
$username2 = 'www';
$username1 = &$username2; //保存username2的空间地址
$username2 = 'encowww';
echo $username1; // 打印 encowww
$name = 'enco';
echo "$name是个人";//此时打印的是 $name是个人 这个变量的值,没有这个变量,报错
$name = 'enco';
echo "{$name}是个人"; //使用打括号将变量扩起来,防止污染全局

三种注释方式

变量类型

$str = '字符串';
//单双引号的区别
//单引号里面所有内容看作字符串
//双引号会去分析字符串里面是否有变量
$name = '安可';
$str = '$name是班长';
echo $str;
$str1 = "$name是班长"; //报错
$str1 = "{$name}是班长";
$str2 = $name . '是班长';
$arr = ['enco','www'];
echo $arr[1];
var_dump($arr); //打印数组
$arr = array('name'=>'enco','age'=>18);
var_dump($arr);
echo $arr['name'] . '年龄是' . $arr['age'];
$student = [
    array('name'=>'enco','age'=>18),
    array('name'=>'enco','age'=>18),
    array('name'=>'enco','age'=>18)
]
$student[2]['name'];
foreach($student as $key=>$value){
  echo ($key+1) . $value['name'] . '年龄是' . $value['age'] . '<br>';
}

获得变量的类型

$a = 1;
echo gettype($a);
$b = 20.03;
echo gettype($b);//double
echo GETTYPE($b);//double

注意:自定义的变量名区分大小写
内置的关键字或者函数名称不区分大小写

$arr = [];
var_dump(is_array($arr));

数据库操作

$db = new mysql('localhost','root','root','database');
$db->query('SET NAMES UTF8');
// INSERT INTO表名(字段1,字段2,字段3.。。。)VALUES(12,'信息1','信息1');
$sql = 'INSERT INTO members(username,passwd,tel,retimes)VALUES('enco','anke123321','15528189938','2017-8-25 10:30:20')';
$db->query($sql);
$db->close();
$db = new mysql('localhost','root','root','database');
$db->query('SET NAMES UTF8');
// SELECT 字段1,字段2.。。。。FROM 表名 WHERE 判断条件(用AND连接);
$sql = 'SELECT id, username,passwd FROM member WHERE username = "'.$_POST['username'].'" ';
$result = $db->query($sql);
$row = $result->fetch_array(MYSQLI_ASSOC);
if($row['id']){
    echo '账号正确';
}else{
    echo '你输入的账号不存在';
    exit;
}
if($row['passwd'] == md5($_POST['passwd'])){
    echo '密码正确';
}else{
    echo '密码错误';
    exit;
}
$db->close();

SELECT count(*) AS nums FROM 表名 WHERE 判断条件
require '相对路径'; // 如果文件不存在,直接返回致命错误,不会执行之后的程序
include '相对路径'; // 如果文件不存在,返回警告错误,会执行之后的代码
require_once '相对路径'; //如果之前有引用这个路径文件,不会再次引用
DELETE(没有字段) FROM WHERE (AND连接)
UPDATE 表名 SET 字段1 = ‘新的值’ , 字段2 = ‘新的值’  WHERE 判断条件;

上传文件

<form enctype = "multipart/form-data"> // 表单信息编码 
</form>
<?php
  der_dump($_FILES);
  move_upload_file($_FILES['img']['tmp_name'],'存放目录路径' . $_FILES['img']['name']);
?>

查询LIKE

'SELECT * FROM 表名 WHERE 字段 LIKE “%关键词%”';

%关键词% : 包含关键词的
%关键词 : 以关键词结束的
关键词% : 以关键词开始的

查询结果排序

SELECT FROM WHERE ORDER BY id ASC

ORDER BY 字段 ARC 按照字段升序排列
ORDER BY 字段 DESC 按照字段降序排列
ORDER BY 字段1 ARC,字段2 ARC

PHP 的面向对象

class Person {
  public $name;
  public $age;
  //定义方法
  //构造方法
  function  __construct($name,$age){
    $this->name = $name;
    $this->age = $age;
  }
  function say(){
    echo '我是'. $this->name;
  }
  //析构方法(自动执行)
  function __destruct(){
    echo '完成';
  }
}
$person1 = new Person('enco',18);
$person1->say();
$person1->name;
unset($_POST('id'));

session 和 cookie

$_SESSION['username'] = 要传的值;
//跳转页面
header('Location:./跳转页面相对路径');
setcookie('username',要传的值,time()+30*24*60*60);//最后传的是cookie保存的有效时间
setcookie('username',要传的值,time()+30*24*60*60);
$_COOKIE['username']; //获取cookie值

php的类的继承

class DB {
  pretected $dblink;
  public function __construct ($config) {
      $this->dblink = new mysqli($config['host'],$config['user'],$config['passed'],$config['dbname']);
      $this->blink->query('SET NAMES UTF8');  
  }
class news extends DB {
    function __construct ($config){
      parent::__construct ($config);
      var_dump($this->dblink);
  }
}
$config = array('host'=>'localhost','user'=>'root','passwd'=>'168168','dbname'=>'study');
$mynews = new news($config);
}

访问权限控制

php 函数定义

function add($a=0;$b=0){
  return $a+$b;
}

php 常见方法

SESSION 的销毁

unset($_SESSION['id']);
session_destroy();

define 定义一个常量

define('NAME','ecno');
define('NAME','ecno22222');
echo NAME; // 打印enco

定义的常量不能被修改

if(defined('NAME')){
  echo '常量已经被定义';
}

and or oxr 的优先级比等号低

$f = 1 oxr 0;
echo $f; // 这里$f = 1;
$f = (1 oxr 0);
echo $f; // 这里true;

SELECT n.cid, n.ccid, n.title, n.realname, c.cname FROM news AS n
LEFT JOIN category AS c
ON n.ccid = c.id
WHERE n.id > 3

上一篇 下一篇

猜你喜欢

热点阅读