0

0

php基础知识笔记

php中文网

php中文网

发布时间:2016-06-21 08:48:57

|

1101人浏览过

|

来源于php中文网

原创

include和require的异同:

 

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

Get笔记
Get笔记

Get笔记,一款AI驱动的知识管理产品

下载

相同点:都可以引入其他的php文件。

 

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

不同点:include当出现引入文件错误时,只会出现警告,但程序仍然会继续往下执行。而当require出现错误时则会报错,程序终止。

 

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

一般来说都是使用include_once和require_once,而不使用include和require。引入文件的语句要放在最前面,这点就类似C语言。

 

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

 

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

 

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

php变量是区分大小写的,但是函数名却不区分大小写。且不能以数字开头。例如Abc和abc是一样的,如果这样的两个函数共存在一个文件中就会报错。

 

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

局部变量和全局变量同名下的情况分析;

 

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

看下面的一段代码:

 

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

      $a=45;

 

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

     function abc(){ //定义函数

 

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

       $a+= 10;

 

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

}

 

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

abc(); //调用函数

 

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

echo  ‘$a=’.$a;

 

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

输出结果是多少呢?结果还是45,为什么呢?在函数体内的是局部变量,和外部变量$a同名,但不是同一个变量,而是两个完全不相干的变量。函数内的变量$a随着函数执行完毕就释放了。输出的仍是外部变量,如果要在函数体内使用外部变量(全局变量)那么就要在内部的同名变量前加上global 声明。其实在编译器看来,声明为global时其实是把外部同名的变量的地址赋给这个局部变量,这时内部变量和外部同名变量是同一地址,所以自然就成了同一变量了。在函数体的形参或没有声明为global的局部变量,那么就是作为局部变量来使用的,作用域就是在函数体内。例如下面的一段代码输出结果是45,而不是55.

 

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

$a=45;

 

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

     function abc($a){ //定义函数

 

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

       $a += 10;

 

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

}

 

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

abc($a); //调用函数

 

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

echo  ‘$a=’.$a;

 

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

 

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

 

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

在php中一共有三种级别的错误:

 

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

第一级错误:notice,最轻的错误,还可以执行

 

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

第二级错误:warn ,警告,还可以执行

 

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

第三级错误:error ,程序无法执行下去,这个错误是最严重的错误

 

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

 

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

 

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

unset函数解说:

 

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

(PHP 3, PHP 4 )

 

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

unset -- 释放给定的变量,当我们不想使用该变量时就可以释放这个变量。

 

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

描述

 

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

void unset ( mixedvar [, mixed var [, ...]])

 

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

unset()销毁指定的变量。注意在 PHP 3 中,unset() 将返回 TRUE(实际上是整型值 1),而在 PHP 4 中,unset() 不再是一个真正的函数:它现在是一个语句。这样就没有了返回值,试图获取 unset() 的返回值将导致解析错误。

 

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

如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用unset() 之前一样的值。即在函数外部该全局变量仍保持原样。如果在函数中unset() 一个通过引用传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用unset() 之前一样的值。即形参是个取地址符的情况。

 

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

php有点类似C语言,不支持多态,不允许同名函数的存在,但对于形参更灵活,在调用时可以不写或少写几个形参值。还可以给形参赋默认值。例如 function diyMethod($a,$b=3)就是给形参赋默认值为3 ,php函数默认传值方式是值传递,要想使用引用传递(地址传递),在形参前加上地址符&就可以了。引用传递其实有点相当于变相地将形参所对应的调用该函数的传入参数变成了全局变量。虽然没有global声明。引用传递会改变传入参数的值!但要注意这里的引用并不是C语言的指针.因为指针本身是一个变量,而php的引用其实是变量的一种别名,说白了,就是一个地址可以有多个变量名字。在 PHP 中引用意味着用不同的名字访问同一个变量内容。当用 global $var 声明一个变量时实际上建立了一个到全局变量的引用。

 

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

 

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

 

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

php中变量、常量定义方法

 

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

1.   定义常量define("CONSTANT", "Hello world."); 

常量只能包含标量数据(boolean,integer,float 和 string)。 

调用常量时,只需要简单的用名称取得常量的值,而不能加“$”符号,如:echoCONSTANT; 

注: 常量和(全局)变量在不同的名字空间中。这意味着例如 TRUE 和 $TRUE 是不同的。 

2.普通变量$a = "hello"; 

3.可变变量(使用两个美元符号($)) 

$$a = "world"; 

两个变量都被定义了: 

$a 的内容是“hello”并且 $hello 的内容是“world”。 

因此,可以表述为: 

echo "$a ${$a}";或者 echo "$a $hello";它们都会输出:hello world 

要将可变变量用于数组,必须解决一个模棱两可的问题。这就是当写下 $$a[1] 时,解析器需要知道是想要 $a[1] 作为一个变量呢,还是想要 $$a 作为一个变量并取出该变量中索引为 [1] 的值。解决此问题的语法是,对第一种情况用 ${$a[1]},对第二种情况用 ${$a}[1]。 

4.静态变量 

在函数内部static $a =0; 

注意:声明中用表达式的结果对其赋值会导致解析错误如static $a =3+3;(error) 

静态变量仅在局部函数域中存在(函数内部),函数执行完之后,变量值不会丢失,可用于递归调用 

5.全局变量 

在函数体内定义的global变量,函数体外可以使用,在函数体外定义的global变量不能在函数体内使用,在全局范围内访问变量可以用特殊的 PHP 自定义 $GLOBALS 数组: 

如:$GLOBALS["b"] = $GLOBALS["a"] +$GLOBALS["b"]; 

在一个函数域内用 global 语句导入的一个真正的全局变量实际上是建立了一个到全局变量的引用 

global $obj; 

注:对于变量的 static 和 global 定义是以应用的方式实现的 

6.给变量赋值:传地址赋值(简单引用): 

$bar = &$foo; //加&符号到将要赋值的变量前 

改动新的变量将影响到原始变量,这种赋值操作更加快速 

注意:只有命名变量才可以传地址赋值 

注意:如果 

$bar = &$a; 

$bar = &$foo; 

改变$bar的值只能改变变量foo的值,而不改变a的值(引用改变了) 

7.PHP超全局变量$GLOBALS :包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键标为全局变量的名称。从 PHP 3 开始存在 $GLOBALS 数组。 

$_SERVER :变量由 Web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $HTTP_SERVER_VARS 数组(依然有效,但反对使用)。 

$_GET :经由 HTTP GET 方法提交至脚本的变量。 

$_POST :经由 HTTP POST 方法提交至脚本的变量。 

$_COOKIE :经由 HTTP Cookies 方法提交至脚本的变量。 

$_FILES :经由 HTTP POST 文件上传而提交至脚本的变量。 

文件上传表单中要有 enctype="multipart/form-data" 

$_ENV :执行环境提交至脚本的变量。 

$_REQUEST :经由 GET,POST 和 COOKIE 机制提交至脚本的变量,因此该数组并不值得信任。所有包含在该数组中的变量的存在与否以及变量的顺序均按照 php.ini 中的variables_order 配置指示来定义。该数组没有直接模拟 PHP4.1.0 的早期版本。参见 import_request_variables()。 

注意:自 PHP 4.3.0 起,$_FILES 中的文件信息不再存在于 $_REQUEST 中。 

$_SESSION :当前注册给脚本会话的变量。 

如何禁用phpinfo(): 

php.ini中 

disable_functions = phpinfo() 

重启web服务器。 

php中的常量 

常量只能用define(常量名,常量值); 

常量只能包含标量数据(boolean,integer,float 和 string)。 

可以简单的通过指定其名字来取得常量的值,不要在常量前面加上 $ 符号。如果常量名是动态的,也可以用函数 

constant() 来读取常量的值。用 get_defined_constants() 可以获得所有已定义的常量列表。 

注: 常量和(全局)变量在不同的名字空间中。这意味着例如 TRUE 和 $TRUE 是不同的。 

如果使用了一个未定义的常量,PHP 假定想要的是该常量本身的名字,如同用字符串调用它一样(CONSTANT 对应"CONSTANT")。此时将发出一个 E_NOTICE 级的错误。参见手册中为什么 $w3sky[bar] 是错误的(除非事先用 define() 将 bar 定义为一个常量)。如果只想检查是否定义了某常量,用 defined() 函数。 

常量和变量不同: 

* 常量前面没有美元符号($); 

* 常量只能用 define() 函数定义,而不能通过赋值语句; 

* 常量可以不用理会变量范围的规则而在任何地方定义和访问; 

* 常量一旦定义就不能被重新定义或者取消定义; 

* 常量的值只能是标量。 

定义常量 

define("CONSTANT", "Helloworld."); 

echo CONSTANT; // outputs "Helloworld." 

echo Constant; // outputs "Constant"and issues a notice. 

?>

 

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

跳水比赛,10个评委打分,去掉一个最高分和一个最低分,然后求剩下的评委的分数总和的平均分为该运动员的得分,试输出给最高分的评委和给最低分的评委以及该运动员的得分。

 

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

答案如下:

 

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

 

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

12,"ms"=>9.0,"ok"=>7.1,"song"=>5.0,"bold"=>3.8,"know"=>2.7,"wow"=>1.7,"serial"=>7.9,"moder"=>7.6,"froke"=>6.7);  
    function  getMinMax($arr,$k=true){ //$k 为 true时输出最小值,为false 则输出最大值,还有平均数  
       $num=$arr["arial"];$sum=0;$s="arial";  
       foreach($arr as $i => $value){  
            if($k){   
                if($value<$num){  
                    $num =$value;$s=$i;   
                }  
            }else {  
                if($value>$num){  
                    $num =$value;$s=$i;   
                }   
            }  
       }   
       $sum = array_sum($arr);  
       return array($sum,$num,$s);  
    }  
    $newArr=getMinMax($arr,true);   
    $sum=$newArr[0]-$newArr[1];   
    echo 'the lowest degree people is '.$newArr[2]."
"; unset($newArr); $newArr=getMinMax($arr,false); $sum -= $newArr[1]; echo '
the highest degree people is '.$newArr[2]; echo '
the average degree is '.$sum/(count($arr)-2); ?>



PHP速学教程(入门到精通)
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不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
2026春节习俗大全
2026春节习俗大全

本专题整合了2026春节习俗大全,阅读专题下面的文章了解更多详细内容。

56

2026.02.11

Yandex网页版官方入口使用指南_国际版与俄罗斯版访问方法解析
Yandex网页版官方入口使用指南_国际版与俄罗斯版访问方法解析

本专题全面整理了Yandex搜索引擎的官方入口信息,涵盖国际版与俄罗斯版官网访问方式、网页版直达入口及免登录使用说明,帮助用户快速、安全地进入Yandex官网,高效使用其搜索与相关服务。

157

2026.02.11

虫虫漫画网页版入口与免费阅读指南_正版漫画全集在线查看方法
虫虫漫画网页版入口与免费阅读指南_正版漫画全集在线查看方法

本专题系统整理了虫虫漫画官网及网页版最新入口,涵盖免登录观看、正版漫画全集在线阅读方式,并汇总稳定可用的访问渠道,帮助用户快速找到虫虫漫画官方页面,轻松在线阅读各类热门漫画内容。

37

2026.02.11

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

4

2026.02.11

Rust异步编程与Tokio运行时实战
Rust异步编程与Tokio运行时实战

本专题聚焦 Rust 语言的异步编程模型,深入讲解 async/await 机制与 Tokio 运行时的核心原理。内容包括异步任务调度、Future 执行模型、并发安全、网络 IO 编程以及高并发场景下的性能优化。通过实战示例,帮助开发者使用 Rust 构建高性能、低延迟的后端服务与网络应用。

1

2026.02.11

Spring Boot企业级开发与MyBatis Plus实战
Spring Boot企业级开发与MyBatis Plus实战

本专题面向 Java 后端开发者,系统讲解如何基于 Spring Boot 与 MyBatis Plus 构建高效、规范的企业级应用。内容涵盖项目架构设计、数据访问层封装、通用 CRUD 实现、分页与条件查询、代码生成器以及常见性能优化方案。通过完整实战案例,帮助开发者提升后端开发效率,减少重复代码,快速交付稳定可维护的业务系统。

5

2026.02.11

包子漫画网页版入口与全集阅读指南_正版免费漫画快速访问方法
包子漫画网页版入口与全集阅读指南_正版免费漫画快速访问方法

本专题汇总了包子漫画官网和网页版入口,提供最新章节抢先看方法、正版免费阅读指南,以及稳定访问方式,帮助用户快速直达包子漫画页面,无广告畅享全集漫画内容。

156

2026.02.10

MC.JS网页版快速畅玩指南_MC.JS官网在线入口及免安装体验方法
MC.JS网页版快速畅玩指南_MC.JS官网在线入口及免安装体验方法

本专题汇总了MC.JS官网入口和网页版快速畅玩方法,提供免安装访问、不同版本(1.8.8、1.12.8)在线体验指南,以及正版网页端操作说明,帮助玩家轻松进入MC.JS世界,实现即时畅玩与高效体验。

84

2026.02.10

谷歌邮箱网页版登录与注册全指南_Gmail账号快速访问与安全操作教程
谷歌邮箱网页版登录与注册全指南_Gmail账号快速访问与安全操作教程

本专题汇总了谷歌邮箱网页版的最新登录入口和注册方法,详细提供官方账号快速访问方式、网页版操作教程及安全登录技巧,帮助用户轻松管理Gmail邮箱账户,实现高效、安全的邮箱使用体验。

73

2026.02.10

热门下载

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

精品课程

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

共162课时 | 16.7万人学习

Pandas 教程
Pandas 教程

共15课时 | 1.1万人学习

C# 教程
C# 教程

共94课时 | 9.2万人学习

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

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