<?php

/*
* Created on 2015年12月17日
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
#--------------打印-------echo - 能够输出一个以上的字符串,print - 只能输出一个字符串,并始终返回 1---------------
echo "我的第一段 PHP 脚本!";
print "I'm studying php now.'";
#--------------打印---------------------- #--------------注释----------------------
// 这是单行注释
# 这也是单行注释
/*
这是多行注释块
它横跨了
多行
*/
#--------------注释---------------------- # -------------if、else、echo 等等都对大小写不敏感---------
ECHO "Hello World!<br>";
echo "Hello World!<br>";
EcHo "Hello World!<br>";
# -------------if、else、echo 等等都对大小写不敏感--------- #--------------------常量:常量是单个值的标识符(名称)。在脚本中无法改变该值。--------------------------
#创建了一个对大小写敏感的常量,值为 "Welcome to W3School.com.cn!":
define("GREETING", "Welcome to W3School.com.cn!");
echo GREETING;
#创建了一个对大小写不敏感的常量,值为 "Welcome to W3School.com.cn!":
define("GREETING", "Welcome to W3School.com.cn!", true);
echo greeting;
#--------------------常量-------------------------- #---------------------变量--------------------------
$x=5;
$y=6;
$z=$x+$y;
echo $z;
#---------------------变量-------------------------- #--------------------所有变量都对大小写敏感---------------
$color = "red";
echo "My car is " . $color . "<br>";
echo "My house is " . $COLOR . "<br>";
echo "My boat is " . $coLOR . "<br>";
#--------------------所有变量都对大小写敏感--------------- #-----------------------------------------变量的作用域---------------------------------------
$x=5; // 全局作用域 function myTest() {
$y=10; // 局部作用域
echo "<p>测试函数内部的变量:</p>";
echo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$x";
} myTest(); echo "<p>测试函数之外的变量:</p>";
echo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$x";
#-----------------------------------------变量的作用域--------------------------------------- #-----------------------------------------local(局部)global(全局)static(静态)---------------------
#-----------------------------------------global-----------------
$x=5;
$y=10; function myTest() {
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
} myTest();
echo $y; // 输出 15
#-----------------------------------------static------------------
function myTest() {
static $x=0;
echo $x;
$x++;
} myTest();
myTest();
myTest();
#-----------------------------------------local(局部)global(全局)static(静态)--------------------- #-----------------------------------------数据类型:字符串、整数、浮点数、逻辑、数组、对象、NULL---------------------
#-------------------字符串是字符序列,比如 "Hello world!"
$x = "Hello world!";
echo $x;
echo "<br>";
$x = 'Hello world!';
echo $x;
#-------------------整数是没有小数的数字, var_dump() 会返回变量的数据类型和值
$x = 5985;
var_dump($x);
echo "<br>";
$x = -345; // 负数
var_dump($x);
echo "<br>";
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);
#-------------------浮点数是有小数点或指数形式的数字, var_dump() 会返回变量的数据类型和值
$x = 10.365;
var_dump($x);
echo "<br>";
$x = 2.4e3;
var_dump($x);
echo "<br>";
$x = 8E-5;
var_dump($x);
#------------------逻辑是 true 或 false
$x=true;
$y=false;
#------------------数组在一个变量中存储多个值, var_dump() 会返回变量的数据类型和值
$cars=array("Volvo","BMW","SAAB");
var_dump($cars);
#------------------对象是存储数据和有关如何处理数据的信息的数据类型,首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。
class Car
{
var $color;
function Car($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
#------------------特殊的 NULL 值表示变量无值。NULL 是数据类型 NULL 唯一可能的值。
$x="Hello world!";
$x=null;
var_dump($x);
#-----------------------------------------数据类型:字符串、整数、浮点数、逻辑、数组、对象、NULL--------------------- #-----------------------------------------字符串函数------------------------------------------------
#--------------------------strlen() 函数:返回字符串的长度,以字符计
echo strlen("Hello world!");//输出是:12
#--------------------------strpos() 函数:用于检索字符串内指定的字符或文本
echo strpos("Hello world!","world");//例中字符串 "world" 的位置是 6。是 6(而不是 7)的理由是,字符串中首字符的位置是 0 而不是 1。
#-----------------------------------------字符串函数------------------------------------------------ #---------------------------------------- PHP 脚本中的各种运算符:+、-、*、/、%---------------------------------
$x=10;
$y=6;
echo ($x + $y); // 输出 16
echo ($x - $y); // 输出 4
echo ($x * $y); // 输出 60
echo ($x / $y); // 输出 1.6666666666667
echo ($x % $y); // 输出 4 $x=10;
echo $x; // 输出 10 $y=20;
$y += 100;
echo $y; // 输出 120 $z=50;
$z -= 25;
echo $z; // 输出 25 $i=5;
$i *= 6;
echo $i; // 输出 30 $j=10;
$j /= 5;
echo $j; // 输出 2 $k=15;
$k %= 4;
echo $k; // 输出 3
#---------------------------------------- PHP 脚本中的各种运算符:+、-、*、/、%--------------------------------- #----------------------------------------if...else...elseif 语句---------------------------------------
#if 语句 - 如果指定条件为真,则执行代码
#if...else 语句 - 如果条件为 true,则执行代码;如果条件为 false,则执行另一端代码
#if...elseif....else 语句 - 选择若干段代码块之一来执行
#switch 语句 - 语句多个代码块之一来执行
#------------------------------------if-------------------
$t=date("H"); if ($t<"20") {
echo "Have a good day!";
}
#------------------------------------if else--------------
$t=date("H"); if ($t<"20") {
echo "Have a good day!";
} else {
echo "Have a good night!";
}
#------------------------------------ if....elseif...else---
$t=date("H"); if ($t<"10") {
echo "Have a good morning!";
} elseif ($t<"20") {
echo "Have a good day!";
} else {
echo "Have a good night!";
}
#----------------------------------------if...else...elseif 语句--------------------------------------- #--------------------------------------------switch:有选择地执行若干代码块之一---------------------------------
#工作原理:
# 对表达式(通常是变量)进行一次计算
# 把表达式的值与结构中 case 的值进行比较
# 如果存在匹配,则执行与 case 关联的代码
# 代码执行后,break 语句阻止代码跳入下一个 case 中继续执行
# 如果没有 case 为真,则使用 default 语句 switch ($x)
{
case 1:
echo "Number 1";
break;
case 2:
echo "Number 2";
break;
case 3:
echo "Number 3";
break;
default:
echo "No number between 1 and 3";
}
#--------------------------------------------switch-------------------------------------------------- #--------------------------------------------while----------------------------------------------------
#在 PHP 中,我们有以下循环语句:
#while - 只要指定条件为真,则循环代码块
#do...while - 先执行一次代码块,然后只要指定条件为真则重复循环
#for - 循环代码块指定次数
#foreach - 遍历数组中的每个元素并循环代码块
#------------------------------------while-------------
$x=1;
while($x<=5) {
echo "这个数字是:$x <br>";
$x++;
}
#-----------------------------------do while------------
$x=1;
do {
echo "这个数字是:$x <br>";
$x++;
} while ($x<=5);
#--------------------------------------------while---------------------------------------------------- #---------------------------------------------for ------------------------------------------------------
#---------------------for------------
for ($x=0; $x<=10; $x++) {
echo "数字是:$x <br>";
}
#-------------------foreach---------每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素
$colors = array("red","green","blue","yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
#---------------------------------------------for ------------------------------------------------------ #-------------------------------------------函数(function(){})----------------------------------------------
#-------------------------------无参函数---------
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // 调用函数
#-------------------------------有参函数---------
function familyName($fname) {
echo "$fname Zhang.<br>";
}
familyName("Li");
familyName("Hong");
familyName("Tao");
familyName("Xiao Mei");
familyName("Jian");
#-------------------------------默认参数值--------
function setHeight($minheight=50) {
echo "The height is : $minheight <br>";
}
setHeight(350);
setHeight(); // 将使用默认值 50
setHeight(135);
setHeight(80);
#-------------------------------函数 - 返回值-------
function sum($x,$y) {
$z=$x+$y;
return $z;
}
echo "5 + 10 = " . sum(5,10) . "<br>";
echo "7 + 13 = " . sum(7,13) . "<br>";
echo "2 + 4 = " . sum(2,4);
#-------------------------------------------函数(function(){})---------------------------------------------- #-------------------------------------------数组(array)----------------------------------------------------
#在 PHP 中,有三种数组类型:
# 索引数组 - 带有数字索引的数组
# 关联数组 - 带有指定键的数组
# 多维数组 - 包含一个或多个数组的数组
#--------------------索引数组-----------------
$cars=array("Volvo","BMW","SAAB"); $cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="SAAB";
#-------------------关联数组------------------
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43"; $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
#-------------------获得数组的长度 - count() 函数----------------------
$cars=array("Volvo","BMW","SAAB");
echo count($cars);
#----------------------遍历索引数组---------------------------------
$cars=array("Volvo","BMW","SAAB");
$arrlength=count($cars); for($x=0;$x<$arrlength;$x++) {
echo $cars[$x];
echo "<br>";
}
#-----------------------遍历关联数组---------------------------------
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); foreach($age as $x=>$x_value) {
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
#-------------------------------------------数组(array)---------------------------------------------------- #------------------------------------------------数组排序--------------------------------------------------- #------------------------------------------------数组排序---------------------------------------------------
#PHP 数组排序函数:
#sort() - 以升序对数组排序
#rsort() - 以降序对数组排序
#asort() - 根据值,以升序对关联数组进行排序
#ksort() - 根据键,以升序对关联数组进行排序
#arsort() - 根据值,以降序对关联数组进行排序
#krsort() - 根据键,以降序对关联数组进行排序
#---------------------------------------对数组进行升序排序 - sort()---------
$cars=array("Volvo","BMW","SAAB");
sort($cars); $numbers=array(3,5,1,22,11);
sort($numbers);
#---------------------------------------对数组进行降序排序 - rsort()--------
$cars=array("Volvo","BMW","SAAB");
rsort($cars); $numbers=array(3,5,1,22,11);
rsort($numbers);
#---------------------------------------根据值对数组进行升序排序 - asort()-----
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
asort($age);
#--------------------------------------根据键对数组进行升序排序 - ksort()------
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
ksort($age);
#--------------------------------------根据值对数组进行降序排序 - arsort()-----
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
arsort($age);
#--------------------------------------根据键对数组进行降序排序 - krsort()-----
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
krsort($age);
#------------------------------------------------数组排序--------------------------------------------------- #------------------------------------------------全局变量 - 超全局变量------------------------------------------
#超全局变量是:
# $GLOBALS
# $_SERVER
# $_REQUEST
# $_POST
# $_GET
# $_FILES
# $_ENV
# $_COOKIE
# $_SESSION
#----------------------------------$GLOBALS — 引用全局作用域中可用的全部变量--------------
$x = 75;
$y = 25;
function addition() {
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z;
#--------------------------------$_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息------
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_REFERER'];
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
#能够在 $_SERVER 中访问的最重要的元素:
#$_SERVER['PHP_SELF'] 返回当前执行脚本的文件名。
#$_SERVER['GATEWAY_INTERFACE'] 返回服务器使用的 CGI 规范的版本。
#$_SERVER['SERVER_ADDR'] 返回当前运行脚本所在的服务器的 IP 地址。
#$_SERVER['SERVER_NAME'] 返回当前运行脚本所在的服务器的主机名(比如 www.w3school.com.cn)。
#$_SERVER['SERVER_SOFTWARE'] 返回服务器标识字符串(比如 Apache/2.2.24)。
#$_SERVER['SERVER_PROTOCOL'] 返回请求页面时通信协议的名称和版本(例如,“HTTP/1.0”)。
#$_SERVER['REQUEST_METHOD'] 返回访问页面使用的请求方法(例如 POST)。
#$_SERVER['REQUEST_TIME'] 返回请求开始时的时间戳(例如 1577687494)。
#$_SERVER['QUERY_STRING'] 返回查询字符串,如果是通过查询字符串访问此页面。
#$_SERVER['HTTP_ACCEPT'] 返回来自当前请求的请求头。
#$_SERVER['HTTP_ACCEPT_CHARSET'] 返回来自当前请求的 Accept_Charset 头( 例如 utf-8,ISO-8859-1)
#$_SERVER['HTTP_HOST'] 返回来自当前请求的 Host 头。
#$_SERVER['HTTP_REFERER'] 返回当前页面的完整 URL(不可靠,因为不是所有用户代理都支持)。
#$_SERVER['HTTPS'] 是否通过安全 HTTP 协议查询脚本。
#$_SERVER['REMOTE_ADDR'] 返回浏览当前页面的用户的 IP 地址。
#$_SERVER['REMOTE_HOST'] 返回浏览当前页面的用户的主机名。
#$_SERVER['REMOTE_PORT'] 返回用户机器上连接到 Web 服务器所使用的端口号。
#$_SERVER['SCRIPT_FILENAME'] 返回当前执行脚本的绝对路径。
#$_SERVER['SERVER_ADMIN'] 该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。
#$_SERVER['SERVER_PORT'] Web 服务器使用的端口。默认值为 “80”。
#$_SERVER['SERVER_SIGNATURE'] 返回服务器版本和虚拟主机名。
#$_SERVER['PATH_TRANSLATED'] 当前脚本所在文件系统(非文档根目录)的基本路径。
#$_SERVER['SCRIPT_NAME'] 返回当前脚本的路径。
#$_SERVER['SCRIPT_URI'] 返回当前页面的 URI。
#########################由于其余几个与HTML相互作用所以放在下一篇中来讲############################### #------------------------------------------------全局变量 - 超全局变量------------------------------------------ ?>

From:http://www.w3school.com.cn/php/index.asp

Php基本语法数据类型操作基础训练的更多相关文章

  1. Subsonic的使用之基本语法、操作(2)

    查询 SubSonic2.1版本 – 例出3种查询. Product product = new Select().From<Product>() .Where(Product.Produ ...

  2. redis(一) 安装以及基本数据类型操作

    redis(一) 安装以及基本数据类型操作 redis安装和使用 redis安装 wget http://download.redis.io/redis-stable.tar.gz tar zxvf ...

  3. python基础之数据类型操作补充,集合及其操作,深浅拷贝

    内容概要: 数据类型操作补充 集合及其操作 深浅拷贝1.基础数据类型补充 1.1字符串的操作补充li = ["李嘉诚", "麻花藤", "黄海峰&qu ...

  4. Java学习笔记之基础语法(数据类型)

    8种基本数据类型    整型:   byte[1字节]          short[2字节]        int[4字节]         long[8字节]      1,四种整型之间的区别:申 ...

  5. Python数据分析与展示[第三周](pandas数据类型操作)

    数据类型操作 如何改变Series/ DataFrame 对象 增加或重排:重新索引 删除:drop 重新索引 .reindex() reindex() 能够改变或重排Series和DataFrame ...

  6. 2. Vue语法--插值操作&动态绑定属性 详解

    目录 1. 设置vue模板 2. vue语法--插值操作 3. 动态绑定属性--v-bind 一. 设置vue模板 我们经常新建一个vue项目的时候, 会写如下的一段代码 <!DOCTYPE h ...

  7. Redis(二) 数据类型操作指令以及对应的RedisTemplate方法

    1.Redis key值操作以及RedisTemplate对应的API 本文默认使用RedisTemplate,关于RedisTemplate和StringRedisTemplate的区别如下 Red ...

  8. JavaScript---js语法,数据类型及方法, 数组及方法,JSON对象及方法,日期Date及方法,正则及方法,数据类型转换,运算符, 控制流程(三元运算),函数(匿名函数,自调用函数)

    day46 一丶javascript介绍 JavaScript的基础分为三个       1.ECMAScript:JavaScript的语法标准.包括变量,表达式,运算符,函数,if语句,for语句 ...

  9. JavaScript01 js基础语法,数据类型

    JavaScript的概述: 1.组成 三部分组成 ecmaScript 基础语法 (es5) dom document object model 文档对象模型 (操作html文档内容) bom bo ...

随机推荐

  1. leetcode:Multiply Strings(字符串的乘法)【面试算法题】

    题目: Given two numbers represented as strings, return multiplication of the numbers as a string. Note ...

  2. URAL 1036

    题目大意:求前N位与后N位各个位和相等且总和等于S的2N位数的个数. KB     64bit IO Format:%I64d & %I64u 数据规模:1<=N<=50,0< ...

  3. A5营销访谈:卢松松和你聊新媒体运营那些事

    A5芳芳:大家好,这里是A5营销(http://www.admin5.cn)专家访谈,今天请到的嘉宾—卢松松.首先感谢卢松松的参与,先做个简单的自我介绍吧,让大家先熟悉下您近来的发展方向. 卢松松:大 ...

  4. 在Spring aop中的propagation的7种配置的意思

    <tx:method name="find*" read-only="true" propagation ="NOT_SUPPORTED&quo ...

  5. 如何在 Android 手机上实现抓包?

    如何在 Android 手机上实现抓包? http://www.zhihu.com/question/20467503 我想知道某个应用究竟在数据提交到哪里,提交了什么.网上的教程太复杂,不想麻烦.有 ...

  6. eclipse指定启动时的jdk(xjl456852原创)

    在eclipse安装目录中找到eclipse.ini 在第一行配置(即可启动按指定版本的jdk启动eclipse): -vm D:\soft\Java\jre8\bin\server\jvm.dll ...

  7. 编写jeb插件打印目标方法的交叉引用

    jeb插件的编写,文档在文件夹\jeb_1.5\doc\apidoc. 我这里的目的是回溯sendTextMessage等敏感api的调用路径,实现代码如下: from jeb.api import ...

  8. HDU 3622 Bomb Game(2-sat)

    HDU 3622 Bomb Game 题目链接 题意:求一个最大半径,使得每一个二元组的点任选一个,能够得到全部圆两两不相交 思路:显然的二分半径,然后2-sat去判定就可以 代码: #include ...

  9. [RxJS] Starting a Stream with SwitchMap & switchMapTo

    From an event map to another event we can use switchMap(), switchMap() accept an function which retu ...

  10. python应用之文件属性浏览

    import time,os def showFilePROPERTIES(path): for root,dirs,files in os.walk(path,True): print('位置:' ...