<?php
$a=array(0,1,
array(3,4)
,$b=range('a','z'));
print_r($a);
//在子数组内的元素依然可判出
var_dump($qqq=in_array('a',$a));
bool(true)
?>
- 用var_dump();来判断结果
var_dump($qqq=array_key_exists("4",$a));
bool(false)
//用unset 可删除数组元素;
unset($a[2]);
- 对头部和尾部进行操作
//头部插入一或多个,只是数值键
array_unshift($a,10,'sss');
//头部删除
array_shift($a);
//尾部同首部
array_push();
array_pop();
next($a);
prev();
reset();
end();
echo current($a);//值
echo key($a);//键
`
- 进制
012 8进制
0x
0b
- php 不是零的都是true。false 不输出。
- each()取数组当前键值对
while(list($key,$value)=each($a)){
print_r($value);
echo "\n";
foreach($a as $key=>$value){
echo $key;
print_r($value);
}
排序
sort($a,SORT_NUMESIC);数字索引数组
asort($a) 元素值
ksort($a)元素键
前面加r为降序
前面加a为用户自定义排序
shuffle($a);
array_reserve($a);
//数组并
array_merge();
array_merge_recursive();
//数组交
array_intersect();值
array_intersect_assoc();键值
isset 变量是否设置
empty 变量未定义或值为空
body div{
//div居中
position:absolute;
border:10px solid red;
width:90%;
left:5%;
}
小手
.a{
float:right;
font-size:blue;
border:10px solid blue;
cursor:pointer;
}
<?php
$var2=2;
function a(){
$GLOBALS['var1']=1;
global $var2;
$var2=0;
}
a();
echo $var1,$var2;
?>
<?php
$i=1;
echo 1+'2'.'1';
?>
//31
<?php
$a="";
$b=0;
var_dump($a==$b);
?>
bool(true)
/*
比较:
NULL->空串 字符串
NULL->bool(false) 非字符串->bool
bool 另一个也转为 bool
数值 字符串->数值
完全数字的字符串->转为数值进行比较
$a1=null;
$a2="0";
$a3=0;
echo isset($a1)?'true':'false';
echo isset($a2)?'true':'false';
echo isset($a3)?'true':'false';
echo isset($a4)?'true':'false';
//false true true true
$a3=1;
echo isset($a3)?'true':'false';
//true
var_dump(null<"0");//true
$a1=null;
$a2="0";
$a3=0;
$a4=false;
echo empty($a1)?'true':'false';
echo empty($a2)?'true':'false';
echo empty($a3)?'true':'false';
echo empty($a4)?'true':'false';
//true true true true
快速逻辑运算 前面false后面不再算
&&优先级大于||
类型转换时字符串根据开头决定转换为0,数值,浮点数
if(){
}elseif(){
}else{
}
foreach($a as $v)
foreach($a as $key=>$value);
include "a.php" 警告
include_once "a.php" 函数重复定义
require "a.php" 致命错误
continue n;从里向外跳n层
function isLeap($year){
return $year%400===0||$year%4===0&&$year%400!==0;
}
可变长实参
$num=array(1,2,3);
a(...$num)
变量函数
function fuc($funName){
$funName();
}
$b='is_null';
var_dump($b('true'));
//bool(false)
但是,不能是语言结构名。echo,isset...
$a=function b($name)use($b){}
甚至可以用作参数
a**b 指数运算
$a=time();
echo date('Y-m-d h:i:s',$a);
2019-12-27 09:17:16
<?php
$mysqli=new myslqi("127.0.0.1","root","","mydb",3306);
$mysqli=new mysqli();
$mysqli->connect("127.0.0.1","root","","mydb",3306);
$mysqli->query("SET NAMES 'utf8'");
$mysqli->selct_db("mydb");
?>
$sql="select * from student";
$result=$mysql->query($sql);
echo $result->num_rows . "行" . $result->field_count;
$result->data_seek(3);
$row =$result->fetch_array();
$row =$result->fetch_object();
foreach($result as $row){
echo $row['sn']."<br>";
}
$result->free();//释放结果集占用的内存空间
$mysqli->close();
<?php
$stmt=$mysqli->stmt_init();
$sql="update mydb set score=? where sn=?"
$stmt->prepare($sql);
$stmt->bind_param("ds",$score,$sn);
foreach($data as $row){
$score=$row[0];
$sn=$row[1];
$stmt->execute();
$stmt->bind_result($score,$sn);
while($row=$stmt->fetch()){
echo $score . $sn;
}
}
echo $stmt->affect_rows;
$stmt->store_result();
$stmt->free_result();
$stmt->close();
$mysqli->close();
?>
<?php
$dsn='mysql:dbname=mydb;host=127.0.0.1';
$user='root';
$password='';
$pdo=new PDO($dsn,$user,$password);
$pdo->exec("SET NAMES 'utf8');
$num=exec("insert into teacher values('1','2')");
if($pdo->errorCode()!='00000'){
print_f($pdo->errorInfo());
}
//在他的预处理中,还可用bindValue()直接绑定数值
在结果集中:
columnCount() 获取列数
fetch()获得一行
fetchColumn( int number=0)获得当前列指定的单列值
fetchAll()获取所有行,返回数组
?>
9 表单
- 提交表单,浏览器发出HTTP请求,表单数据会作为参数传到服务器中,控件name 代表参数名,value代表参数值
在这里插入代码片
$_SERVER[" "] 包含服务器与执行环境信息的数组
$_GET
$_POST
array_key_exist('lang',$POST);
在这里插入代码片
- 重写url
页面重定向
//页面定期刷新,进入url指定的世界
<meta http-equiv="refresh" content="5;url=process.php">
//当调用此函数时页面重定向,不再执行下面的程序
header("Location:https://c.runoob.com/front-end/61")
session_start();
session_destroy()