手记

PHP学习时专用记录笔记

在php中字符串连接符是用点(.)来表示的,这一点比较特殊,其它语言中是用加号(+)来表示的,比如:JavaScirpt、Asp、C。
————————————————————————————————
1.在utf-8中到一个汉子一般是3个字节;

2.string表示字符串;int表示整型;

3.var_dump()是判断一个变量的类型与长度,并输出(变量的【数值】);

但是呢_如果变量有值,输的是(变量的【值】并回返数据【类型】).

所以输出为: 数据类型(数值)(值)

————————————————————————————————
当双引号中包含变量时,变量会与双引号中的内容连接在一起;

当单引号中包含变量时,变量会被当做字符串输出。
<?php

$love = "I love you!";

$string1 = "慕课网,$love";

$string2 = '慕课网,$love';

echo $string1;

echo "<br />";

echo $string2;

?>

显示的结果为:

慕课网,I love you!

慕课网,$love
—————————————————————————————————
当我的字符串很长怎么办?

我们可以使用Heredoc结构形式的方法来解决该问题,首先使用定界符表示字符串(<<<),接着在“<<<“之后提供一个标识符GOD,然后是字符串,最后以提供的这个标识符结束字符串。

<?php
$string1 = <<<GOD
我有一只小毛驴,我从来也不骑。
有一天我心血来潮,骑着去赶集。
我手里拿着小皮鞭,我心里正得意。
不知怎么哗啦啦啦啦,我摔了一身泥.
GOD;

echo $string1;
?>
—————————————————————————————————
NULL(NULL):NULL是空类型,对大小写不敏感,NULL类型只有一个取值,表示一个变量没有值,当被赋值为NULL,或者尚未被赋值,或者被unset(),这三种情况下变量被认为为NULL。
unset():释放
—————————————————————————————————
常量 ( 通常常量都全用大写 ):

define()函数的语法格式为:

bool define(string $constant_name, mixed $value[, $case_sensitive = true])

它有3个参数(也就是原料):

1.“constant_name”为必选参数,常量名称,即标志符,常量的命名规则与变量的一致,但是要注意哦,它可不带美元符号哦。

2.“value”为必选参数,它是常量的值。

3.“case_sensitive”为可选参数,指定是否大小写敏感,设定为true表示不敏感,一般不指定第三个参数的情况下,默认第三个参数的值为false。

(注: string表示参数类型为字符串类型,mixed表示参数类型可以接受为多种不同的类型,case_sensitive = true表示默认为布尔类型TRUE)

<?php
$p = "PII";
define("PI",3.14);
define($p,3.14);
echo PI;
echo "<br />";
echo PII;
?>
输出:
3.14
3.14
—————————————————————————————————
系统常量
(1)FILE :php程序文件名。它可以帮助我们获取当前文件在服务器的物理位置。
ps:前后各两条下划线

(2)LINE :PHP程序文件行数。它可以告诉我们,当前代码在第几行。
ps:前后各两条下划线

(3)PHP_VERSION:当前解析器的版本号。它可以告诉我们当前PHP解析器的版本号,我们可以提前知道我们的PHP代码是否可被该PHP解析器解析。

(4)PHP_OS:执行当前PHP版本的操作系统名称。它可以告诉我们服务器所用的操作系统名称,我们可以根据该操作系统优化我们的代码。

<?php
echo FILE;
echo "<br />";
echo LINE;
echo "<br />";
echo PHP_VERSION;
echo "<br />";
echo PHP_OS;
echo "<br />";
?>
输出:
/data/webroot/usercode/bit/806-2251727/index.php
4
5.6.11
Linux

—————————————————————————————————
获取常量值
1.使用常量名直接获取值
2.使用constant()函数
第二种可以动态的输出不同的常量,在使用上要灵活、方便

<?php
$p="";
//定义圆周率的两种取值
define("PI1",3.14);
define("PI2",3.142);
//定义值的精度
$height = "低";
//根据精度返回常量名,将常量变成了一个可变的常量
if($height == "低"){
$p = "PI1";
}else {
$p = "PI2";
}
$r=1;
$area = constant($p)$r$r;
echo $area;
?>
输出:
3.14

————————————————————————————————
判定常量是否被定义
defined()函数可以帮助我们判断一个常量是否已经定义,其语法格式为:
bool defined(string constants_name)

它只有参数constant_name,指的是要获取常量的名称,若存在则返回布尔类型true,否则返回布尔类型false; (注:bool表示函数返回值类型为布尔类型)

<?php
define("PI1",3.14);
$p = "PI1";
$is1 = defined($p);
$is2 = defined("PI2");
var_dump($is1);
var_dump($is2);
?>
输出:
bool(true)
bool(false)

————————————————————————————————
赋值运算符
1.“=”:把右边表达式的值赋给左边的运算数。它将右边表达式值复制一份,交给左边的运算数。换而言之,首先给左边的运算数申请了一块内存,然后把复制的值放到这个内存中。
2.“&”:引用赋值,意味着两个变量都指向同一个数据。它将使两个变量共享一块内存,如果这个内存存储的数据变了,那么两个变量的值都会发生变化。

<?php
$a = "我在慕课网学习PHP!";
$b = $a;
$c = &$a;
$a = "我天天在慕课网学习PHP!";

echo $b."<br />";
echo $c."<br />";

?>
输出:
我在慕课网学习PHP!
我天天在慕课网学习PHP!

————————————————————————————————
算术运算符
<?php
$a = 1;
$b = "1";
var_dump($a == $b);
echo "<br />";
var_dump($a === $b);
echo "<br />";
var_dump($a != $b);
echo "<br />";
var_dump($a <> $b);
echo "<br />";
var_dump($a !== $b);
echo "<br />";
var_dump($a < $b);
echo "<br />";

$c = 5;
var_dump($a < $c);
echo "<br />";
var_dump($a > $c);
echo "<br />";
var_dump($a <= $c);
echo "<br />";
var_dump($a >= $c);
echo "<br />";
var_dump($a >= $b);
echo "<br />";

?>
输出:
bool(true)

bool(false)

bool(false)

bool(false)

bool(true)

bool(false)

bool(true)

bool(false)

bool(true)

bool(false)

bool(true)

PS:<> 与 != 均拥有判断不相等 ,早期使用的 <> ,后来升级为 != 基本没有差异 ,因个人编码习惯而异

——————————————————————————————————
逻辑运算符
与:and、&&
或:or、||
非:!
异或:xor

——————————————————————————————————
字符串连接运算符
1.连接运算符(“.”):它返回将右参数附加到左参数后面所得的字符串。

2.连接赋值运算符(“.=”):它将右边参数附加到左边的参数后。

<?php
$a = "张先生";
$tip = $a.",欢迎您在慕课网学习PHP!";

$b = "东边日出西边雨"; 
$b .= ",道是无晴却有晴";

$c = "东边日出西边雨"; 
$c = $c.",道是无晴却有晴";

echo  $tip."<br />";
echo  $b."<br />";
echo  $c."<br />";

?>
输出:
张先生,欢迎您在慕课网学习PHP!
东边日出西边雨,道是无晴却有晴
东边日出西边雨,道是无晴却有晴

——————————————————————————————————
错误控制运算符
PS:错误控制前缀“@”不会屏蔽解析错误的信息,不能把它放在函数或类的定义之前,也不能用于条件结构例如if和foreach等。
——————————————————————————————————
取模算术符
ceil():向上舍入为最接近的整数,返回不小于 x 的下一个整数,x 如果有小数部分则进一位。返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
<?php
$maxLine = 4; //每排人数
$no = 17;//学生编号

$line = ceil($no/$maxLine);
$row = $no%$maxLine?$no%$maxLine:$maxLine;

 echo "编号<b>".$no."</b>的座位在第<b>".$line."</b>排第<b>".$row."</b>个位置";

?>
输出:
编号17的座位在第5排第1个位置
PS:<b></b>是加粗

——————————————————————————————————
为啥要有do-while循环?
例1:
do{

$a=rand(1,6);

}while($a==3);

:例2:
$a=rand(1,6);

while($a==3){

$a=rand(1,6);

}

两段代码差不多,但是明显第二段代码比较烦,而且初始化过程放在循环之外往往会让人不明所以,有时候我们还要统计循环次数,那就更加糟心了,所以do-while循环是有其合理性的.
——————————————————————————————————
foreach循环语句,常用于遍历数组,一般有两种使用方式:不取下标、取下标。

(1)只取值,不取下标

<?php
foreach (数组 as 值){
//执行的任务
}
?>
(2)同时取下标和值

<?php
foreach (数组 as 下标 => 值){
//执行的任务
}
?>

<?php
$students = array(
'2010'=>'令狐冲',
'2011'=>'林平之',
'2012'=>'曲洋',
'2013'=>'任盈盈',
'2014'=>'向问天',
'2015'=>'任我行',
'2016'=>'冲虚',
'2017'=>'方正',
'2018'=>'岳不群',
'2019'=>'宁中则',
);//10个学生的学号和姓名,用数组存储

//使用循环结构遍历数组,获取学号和姓名
foreach($students as $v)
{
echo $v;//输出(打印)姓名
echo "<br />";
}
?>
输出:
令狐冲
林平之
曲洋
任盈盈
向问天
任我行
冲虚
方正
岳不群
宁中则

<?php
$students = array(
'2010'=>array('令狐冲',"59"),
'2011'=>array('林平之',"44"),
'2012'=>array('曲洋',"89"),
'2013'=>array('任盈盈',"92"),
'2014'=>array('向问天',"93"),
'2015'=>array('任我行',"87"),
'2016'=>array('冲虚',"58"),
'2017'=>array('方正',"74"),
'2018'=>array('岳不群',"91"),
'2019'=>array('宁中则',"90"),
);//10个学生的学号、姓名、分数,用数组存储

foreach($students as $key=>$val)
{ //使用循环结构遍历数组,获取学号
echo $key; //输出学号
echo ":";
//循环输出姓名和分数
foreach($val as $v)
{
echo $v;
}
echo "<br />";
}
?>
输出:
2010:令狐冲59
2011:林平之44
2012:曲洋89
2013:任盈盈92
2014:向问天93
2015:任我行87
2016:冲虚58
2017:方正74
2018:岳不群91
2019:宁中则90

PS:两者有不同。键和值的关系
第一种是一维数组,只有下标和值的关系
第二种是二维数组,要分为N个一维数组嵌套输出
——————————————————————————————————
如何破解zendstudio获得永久使用权
https://jingyan.baidu.com/article/fc07f9897f9c0712ffe519b1.html

为什么打不开本地项目?
答:因为阿帕奇的运行目录和你的工作目录不一致,解决办法,修改阿帕奇运行目录或者修改工作目录。
PS:workspace目录与新建的localphpproject不要放在同一个目录。

如何修改Zend Studio的 workspace目录
1、进入 Window > Preferences > General > Startup and Shutdown 选中 Prompt for workspace on startup。之后重启,就可以更改了
  2、进入zend的安装目录,找到configuration 目录下的 .settings 文件夹,里面有一个 org.eclipse.ui.ide.prefs, 用Ultra Edit等打开,也可以用写字板打开,找到RECENT_WORKSPACES,按照它的格式修改一下。
  3、先打开zend studio,进入之后,再去打开一次,会提示 Workspace in use or cannot be created, choose a different one 。 这时候就会提示你更改workspace的目录了。
  这三种方法都可以更改,选一种适合的就可以。
——————————————————————————————————
Zend Studio快捷键
1.alt+/ 交换两行方向
2.ctrl + / 行注释//
3.ctrl + shift +/ 块注释/ /
4.alt + / 提示助手
5.end 跳到当前行末尾
6.ctrl + f 调出查找面板
7.ctrl+h 全文检索(工程项目、文件夹)
8.Ctrl + shift +f 代码格式化(无反应可能是输入法冲突)
9.ctrl + w 关闭当前文件
10.ctrl + shift + l 最牛逼的快捷键(显示全部快捷键)

  1. Window > Preferences >keys 所有快捷方式设置
    12.navigate > show in > outline 结构面板
    ——————————————————————————————————
    1.当前页面首次调试,需要进行 调试 配置;选中 网页,点击右键,选择“Debug As”-“Debug Configurations...”-“PHP CLI Application”-“index.php”(PHP Script页面 默认设置,不需要修改),点击“Debug”调试即可;<br>
    2.当前页面再次调试,可以直接运行;选中 网页,点击右键,选择“Debug As”-“1 PHP CLI
    调试快捷键:
    F5:单步调试进入函数内部(单步进入)
    F6:单步调试不进入函数内部(跳过)
    F7:由函数内部返回到调用处(跳出)
    F8:一直执行到下一个断点
    ctrl + F2 停止
0人推荐
随时随地看视频
慕课网APP