0

0

PHP学习笔记(整理完成)

php中文网

php中文网

发布时间:2016-06-21 08:59:18

|

1394人浏览过

|

来源于php中文网

原创

一、现在开始学习PHP

老猴要弄个网站,提供主机空间的以php+mysql的居多,比较价格也相对较低,所以正好可以学习php.
不过,后来,他又说不急,我也就没有正式开始.今天顺便玩玩,还行,不同于java是强类型语言,php是无类型语言,这一点和_javascript是相似的。

参考如下的示例代码(改编自php manual):

$bool = TRUE; // a boolean

$str = "foo"; // a string

$int = 12; // an integer

echo gettype($bool); // prints out "boolean"

echo "\n";

echo gettype($str); // prints out "string"

echo "\n";

$bool=12;

echo gettype($bool); // prints out "integer"

/*

这里,由于重新将数值12赋给了本来是boolean类型的变量bool,这样,变量bool的类型变成了integer,java那样的强类型语言,赋值只发生在同类型之间。

*/

?>

 

立即学习PHP免费学习笔记(深入)”;

通义听悟
通义听悟

阿里云通义听悟是聚焦音视频内容的工作学习AI助手,依托大模型,帮助用户记录、整理和分析音视频内容,体验用大模型做音视频笔记、整理会议记录。

下载

二、PHP与众不同的continue

continue与众不同之处在于接受一个可选的数字参数来决定跳过几重循环到循环结尾。

#php_continue.php

/*

php中,continue 在循环结构用用来跳过本次循环中剩余的代码并开始执行下一次循环。

这一点和其他语言是一致的,

不过,另有妙处:continue 接受一个可选的数字参数来决定跳过几重循环到循环结尾。

*/

$i = 0;

$j = 0;

while ($i++

echo "Outer

\n";

while (1) {//level 2

echo " Middle

\n";

while (1) {//level 1

echo " Inner

\n";

continue 3;

}

echo "This never gets output.

\n";

}

echo "Neither does this.

\n";

$j++;

//after runs continue 3,it comes to the end of level 3

}

echo "\$j=$j";//output: $j=0

?>

三、PHP中的数组

#php_array.php

/*默认的方式下,phparraykey是非负整数,这种情形和多数语言如c,c++,java中的数组是一致的

*从这点看,java中的数组其实是php中数组的一种默认的方式;而phparray则还有javaMap类的特性:keyvalue

×php manual中的说法“PHP 中的数组实际上是一个有序图。图是一种把 values 映射到 keys 的类型”

*/

$array=array("0","1","2","3","4","5");

print_r($array);

/*

output:

Array

(

    [0] => 0

    [1] => 1

    [2] => 2

    [3] => 3

    [4] => 4

    [5] => 5

)

*/

// count() 函数来数出数组中元素的个数

for ($i=0,$size=count($array);$i

{

    echo  $array[$i];

    echo "\n";

}

/*

output:

0

1

2

3

4

5

*/

 

立即学习PHP免费学习笔记(深入)”;

/*use foreach to loop*/

echo "foreach to loop\n";

foreach($array as $temp){

    echo($temp);

    echo "\n";

}

//output as above

 

立即学习PHP免费学习笔记(深入)”;

/* foreach example 1: value only */

 

立即学习PHP免费学习笔记(深入)”;

$a = array (1, 2, 3, 17);

 

立即学习PHP免费学习笔记(深入)”;

foreach ($a as $v) {

   print "Current value of \$a: $v.\n";//这里使用了转义字符\,使得$a作为一个字串输出

}

/*

output:

Current value of $a: 1.

Current value of $a: 2.

Current value of $a: 3.

Current value of $a: 17.

*/

 

立即学习PHP免费学习笔记(深入)”;

/* foreach example 2: value (with key printed for illustration) */

 

立即学习PHP免费学习笔记(深入)”;

$a = array (1, 2, 3, 17);

 

立即学习PHP免费学习笔记(深入)”;

$i = 0; /* for illustrative purposes only */

 

立即学习PHP免费学习笔记(深入)”;

foreach ($a as $v) {

   print "\$a[$i] => $v.\n";

   $i++;

}

$array2=array("a"=>"avalue","b"=>"bvalue","c"=>"b");

print_r($array2);

echo "****\n";

echo $array2[$array2["c"]];//

//echo $array2[$array2[2]];//企图像java那样使用数组下标方式,是无效的

echo "\n***\n";

/*output:

****

bvalue

***

*/

$arr = array("foo" => "bar", 12 => true);

 

立即学习PHP免费学习笔记(深入)”;

echo $arr["foo"]; // bar

echo $arr[12];    // 1

?>

四、可变变量、字符串运算符和数组运算符:相异于其他语言的部分

 

#php的可变变量

/*可变变量就是变量名可以动态的设置和使用的变量。

一个可变变量获取了一个普通变量的值作为这个可变变量的变量名。

因为普通变量的值是可变的,所以可变变量的变量名也是可变的。

*/

//可变变量适合在什么场合使用呢?

$a = "hello";//定义一个普通变量

$$a = "world";//定义一个可变变量

echo "$a\n";//output:hello

echo "${$a}\n";//使用可变变量

//echo "$hello\n";//outputworld

echo "$hello\n";

?>

 

立即学习PHP免费学习笔记(深入)”;

#php的字符串运算符

//连接运算符(“.”)

$a="first";

$b=$a."==>second";//now $b is "first==>second"

echo "$b\n";

 

立即学习PHP免费学习笔记(深入)”;

//连接赋值运算符(“.=”)

//the same to $a=$a."==>second"

$a.="==>second";//now &a is "first==>second"

echo "$a\n";

 

立即学习PHP免费学习笔记(深入)”;

/*其实可以理解为就只有一种,即连接运算符

这里的点(".")连接运算符和java语言中的字符串连接符("+")是类似的。*/

?>

 

立即学习PHP免费学习笔记(深入)”;

#php的数组运算符:+

/* PHP 仅有的一个数组运算符是 + 运算符。

它把右边的数组附加到左边的数组后,但是重复的键值不会被覆盖。

亦即,以左边的数组为主导,若附加其上的(右边的)数组中有与其key重复的部分将被忽略

*/

$a = array("a" => "apple", "b" => "banana");

$b = array("a" =>"pear", "b" => "strawberry", "c" => "cherry");

$a1=array("c"=>"a1_cherry","d"=>"a1=d");

$c = $a + $b;

var_dump($c);

/*output:

array(3) {

  ["a"]=>

  string(5) "apple"

  ["b"]=>

  string(6) "banana"

  ["c"]=>

  string(6) "cherry"

}

*/

 

立即学习PHP免费学习笔记(深入)”;

$d = $a + $b+$a1;

var_dump($d);

/*output:

array(4) {

  ["a"]=>

  string(5) "apple"

  ["b"]=>

  string(6) "banana"

  ["c"]=>

  string(6) "cherry"

  ["d"]=>

  string(4) "a1=d"

}

*/

?>

 

立即学习PHP免费学习笔记(深入)”;

五、NULL

PHPmanual关于NULL的描述:"

NULL

特殊的 NULL 值表示一个变量没有值。NULL 类型唯一可能的值就是 NULL

在下列情况下一个变量被认为是 NULL

  * 被赋值为 NULL

  * 尚未被赋值。

  * unset()

NULL 类型只有一个值,就是大小写敏感的关键字 NULL

"

 

立即学习PHP免费学习笔记(深入)”;

好混乱啊,在javascript中还有关键字:var用来声明变量,php没有,美元符号($)后面跟个合法的字符串,一个php的变量就诞生了,如上所说,它尚未被赋值,应该被认为是:NULL。使用strlen()试图将其当作string,并算出它的长度,这样做,php引擎不认为是错用。

if(is_null($none))

    print "length=".strlen($none)."\n";//can output:length=0

else

    print "undefined variable\n";//can not come here

?>

//PHPmanual说明:(1is_null --  检测变量是否为 NULL

//2NULL 类型只有一个值,就是大小写敏感的关键字 NULL

 

立即学习PHP免费学习笔记(深入)”;

$fo=null;

 

立即学习PHP免费学习笔记(深入)”;

if(is_null($fo))

{//依据上述(2),并非大写的NULL,本不该执行此处的,实际上并非如此,why

    echo "\$fo=null is NULL\n";//output:$fo=null is NULL

}

$foo=NULL;

if (is_null($f)) {

    echo "\$f=NULL is also NULL";//out put:$f=NULL is also NULL

}

?>



PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

705

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

233

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

117

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

22

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

61

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

30

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

15

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

669

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

58

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
AngularJS教程
AngularJS教程

共24课时 | 3.7万人学习

CSS3实现按钮特效视频教程
CSS3实现按钮特效视频教程

共15课时 | 3.3万人学习

细说PHP第三季
细说PHP第三季

共58课时 | 11.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号