php最简单最基础入门笔记
偶然翻到之前刚学php时记录的笔记,特此分享给大家,希望对初学者有所帮助。
php网页命名不支持中文
isset($abc) 判断变量是否被定义
empty($abc) 判断变量是否为空
unset ($abc) 取消变量的定义
$a=’b’;
$$a=123;
echo$$a 同 echo $b
常量无$符号, PI 3.1415926
define(‘ABC’,100);
define(‘_A’,‘hello’);
预定义常量
M_PI 3.1415926
变量,小写字母
常量,大写字母
预定义变量 超全局
常量 超全局
自定义变量 全局
屏幕打印
echo $a 内容
var_dump($a) 类型 内容
var_export 返回合法的php代码
$a=’xyz’
$b=’abc’
$c=$a.$b
值是’xyzabc’
.是字符串的连接符
常用运算符优先级表
$a=3;
$a=$a+2; 同 $a+=2;
类似:
$a*=2;
$a%=2;
数组
$a1= array(‘a’,2,TURE); 三个单元序号 0 1 2
打印结果 var_dump TURE打印结果为1
常用 print_r($a1)
指定编号 b,2,1
$a2= array(‘b’=>’a’,2=>2,’1’=>TURE);
$a3= array(‘1.5’=>2,1=>TURE,1.5=>’’a);
print_r($a3);
显示结果:
Array
(
[1.5] => 2
[1]=>a
)
‘1.5‘是字符串
后面编号为1.5自动变成1整型,后面的覆盖前面的。
数组的调用
$a1=(‘abc’,1,TURE);
$a1[1]= 3; 数组中的单个赋值
print_r($a1);
echo$a1[‘1’] + $a1[2]
$a1[‘1’]同 $a1[1]
$key=’b’;
$b[$key]=3; 同 $b[b]=3;
$a=array(‘’a,’’b,’c’);
list($x,$y,$z)=$a;
则分别为$x $y $z赋值为a b c
list赋值必须从编号0开始,
$b=array(2=>3);
list($m)=$b; 则网页提示错误。
字符串
$a=’abc’;
$a=”abc”;
$a=<<<EOT
abc
EOT;//注意末尾的结束符必须靠边,其前面不能有空格DHL开始,必须换行,DHL结束,EOT可随意更换,与变量命名规则相同。
$$b1=’/\’M’; 打印结果是/’M \是转义符
$$b1=’\\’; 打印结果是\
$$b1=”\””; 打印结果是”
单引号需要转义的 单引号 反斜线
双引号需要转义的 双引号 反斜线 换行符\n 美元符号$
段落标界需要转义的 同双引号
变量的解析
$a10= ‘123456;
$a11= “abcde$a10”; 优先解析$a10
echo$a11; 显示abcde123456
$a11= “abcde$a102”; $a102不存在
echo$a11; 显示abcde
可以用{}分界
$a11= “abcde{$a10}2”;
常用的预定义变量
服务器 $_SERVER 和 $_ENV
客户端 $_GET $_POST $_COOKIE $_REQEUST $_FILES
服务器会话数组变量 $_SESSION
超全局定义数组变量 $GLBALS
$_SERVER 数组的常用“键名”
SERVER_ADDR 服务器IP
SERVER_NAME 访问域名
SCRIPT_NAME 访问文件名
QUERY_STRING 访问参数 如:abc.com/?n=6&m=8
REMOTE_ADDR(REMOTE_HOST) 客户端IP
HTTP_USER_AGENT 客户端信息
print_r($_SERVER);
客户端提交数组变量
$_GET
$_POST
$_FILES 通过POST方式已上传文件项目组成的数组变量
放在客户端上$_COOKIE和$SESSION 可视为服务器上的COOKIE
$GLOBALS 打印全部预定义数组(包括GET、POST、FILES)
POST向服务器传数据
FORM表单的提交
html代码
<body>
<form action=’****.php’ method=’post’>
c:<input name=’c’ value=’456’>
d:<input name=’d’ >
c:<input type=’submit’ name=’提交’>
</form>
</body>
php代码
<?php
echo $_SERVER[‘QUERY_STRING’]; 获取get传值
echo “\n”
echofile_get_contents(‘php=//input’); 获取POST传值
?>
$_GET $_POST print_r($_POST);
$x=$_POST[‘d’]+1; 转化为php中的变量
文件的上传
html代码
<form action=’***.php’ enctype="multipart/form-data" method=POST>
<input type=file name=up>
<input type=submit>
</form>
php代码
print_r($_FILES); 找到文件的临时存放位置
指针
NULL 和 unset 区别。
$a=5; $c=5;
$b=&$a; $d=&$c;
$b=NULL; unset($d);
分别打印 $a $b $c $d
显示结果NULL NULL 5 NULL
控制流程
顺序、选择、循环
if else elseif 举例 if($a>$b){echo $a;}else{echo $b;}
switch case default break
三元运算符( ? : ;)
(6>4?true:flase;)
empty($a) //判断变量是不是空值,是否为bool型,如果是空型,返回TURE。如果$a没有定义,flase
NULL;FLASLE、0、‘’、‘0’、array()空数组
PHP注释
单行 //
/* 多行 */
php最简单最基础入门笔记的更多相关文章
- Linux基础入门笔记
今天带来Linux入门的一些基础的笔记,科班出身的同学们,Linux已经成为了必修课了,下面我带来关于Linux的相关入门知识以及Linux简单的介绍! Linux内核最初只是由芬兰人林纳斯·托瓦兹( ...
- Shell编程菜鸟基础入门笔记
Shell编程基础入门 1.shell格式:例 shell脚本开发习惯 1.指定解释器 #!/bin/bash 2.脚本开头加版权等信息如:#DATE:时间,#author(作者)#mail: ...
- MATLAB基础入门笔记
为了参加那个电工杯,豁出去啦,时间真的很短,但是得挑战呀..对于MATLAB编程,有一些了解,MATLAB(矩阵实验室的简称)是一种专业的计算机程序,用于工程科学的矩阵数学运算,说说它的开发环境. 任 ...
- Vue基础入门笔记
不是面向DOM进行编程,而是面向数据去编程.当数据发生改变,页面就会随着改变. 属性绑定(v-bind)和双向数据绑定(v-model) 模板指令(v-bind:)后面跟的内容不再是字符串而是: js ...
- MySQL 基础入门笔记
目前我们已知的保存数据的容器有: 内存:( 数组,集合) 硬盘:(文件) 将数据从硬盘读取到内存始终是一个性能上的瓶颈 DB : 数据库 ( 保存一系列有组织的数据容器) DBMS: 数 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Linux及Arm-Linux程序开发笔记(零基础入门篇)
Linux及Arm-Linux程序开发笔记(零基础入门篇) 作者:一点一滴的Beer http://beer.cnblogs.com/ 本文地址:http://www.cnblogs.com/bee ...
- 1 TensorFlow入门笔记之基础架构
------------------------------------ 写在开头:此文参照莫烦python教程(墙裂推荐!!!) ---------------------------------- ...
- jQuery:自学笔记(1)——基础入门
jQuery:自学笔记(1)——基础入门 认识JQuery 1.jQuery概述 jQuery是一个快速.小巧 .功能丰富的JavaScript函数库.它可以实现“写的少,做的多”的目标. jQuer ...
随机推荐
- Electron build 无法下载 winCodeSign 等资源
将 7z 文件下载到 以下 cache 目录并解压 macOS: ~/Library/Caches/electron-builder Linux: ~/.cache/electron-builder ...
- Win7下VS2010不能链接问题
装了2012准备学VC++窗体开发,然后发现手边只有VS2010的教程,于是卸掉VS2012改装VS2010,结果发现不管写啥,链接时都报错“error Link1123 转到coff期间失败”. 于 ...
- 跨站请求伪造(CSRF)攻击原理解析:比你所想的更危险
跨站请求伪造(CSRF)攻击原理解析:比你所想的更危险 跨站请求伪造(Cross-Site Request Forgery)或许是最令人难以理解的一种攻击方式了,但也正因如此,它的危险性也被人们所低估 ...
- 【技巧总结】Penetration Test Engineer[3]-Web-Security(SQL注入、XXS、代码注入、命令执行、变量覆盖、XSS)
3.Web安全基础 3.1.HTTP协议 1)TCP/IP协议-HTTP 应用层:HTTP.FTP.TELNET.DNS.POP3 传输层:TCP.UDP 网络层:IP.ICMP.ARP 2)常用方法 ...
- MySQL异步复制、半同步复制详解
MySQL数据复制的原理图大致如下: 从上图我们可以看出MySQL数据库的复制需要启动三个线程来实现: 其中1个在主服务器上,另两个在从服务器上.当发出START SLAVE时,从服务器创建一个I/O ...
- Task多线程进行多进程
using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using Sys ...
- pl/sql developer 设置oracle的date类型默认显示样式
oracle里默认的date显示样式: 我的是汉化过的: 进入后,点击工具->首选项->日期/时间设置即可: 设置后在pl/sql developer中查看: 英文版的操作步骤: Tool ...
- python网络编程-socket样例
socket样例 一:只能一个客户端发送一个信息. 客户端 # -*- coding:utf-8 -*- __author__ = 'shisanjun' import socket sock=soc ...
- Java内存优化和性能优化的几点建议
1.没有必要时请不用使用静态变量 使用Java的开发者都知道,当某个对象被定义为stataic变量所引用,这个对象所占有的内存将不会被回收.有时,开发者会将经常调用的对象或者变量定义为static,以 ...
- 如何阻止点击scrollviewer里面的单位内容时,自动滚动
<Style TargetType="{x:Type ListBoxItem}"> <Setter Property="FocusVisualStyle ...