php基础知识笔记

include和require的异同:
 
相同点:都可以引入其他的php文件。
 
不同点:include当出现引入文件错误时,只会出现警告,但程序仍然会继续往下执行。而当require出现错误时则会报错,程序终止。
 
一般来说都是使用include_once和require_once,而不使用include和require。引入文件的语句要放在最前面,这点就类似C语言。
 
 
 
php变量是区分大小写的,但是函数名却不区分大小写。且不能以数字开头。例如Abc和abc是一样的,如果这样的两个函数共存在一个文件中就会报错。
 
局部变量和全局变量同名下的情况分析;
 
看下面的一段代码:
 
      $a=45;
 
     function abc(){ //定义函数
 
       $a+= 10;
 
}
 
abc(); //调用函数
 
echo  ‘$a=’.$a;
 
输出结果是多少呢?结果还是45,为什么呢?在函数体内的是局部变量,和外部变量$a同名,但不是同一个变量,而是两个完全不相干的变量。函数内的变量$a随着函数执行完毕就释放了。输出的仍是外部变量,如果要在函数体内使用外部变量(全局变量)那么就要在内部的同名变量前加上global 声明。其实在编译器看来,声明为global时其实是把外部同名的变量的地址赋给这个局部变量,这时内部变量和外部同名变量是同一地址,所以自然就成了同一变量了。在函数体的形参或没有声明为global的局部变量,那么就是作为局部变量来使用的,作用域就是在函数体内。例如下面的一段代码输出结果是45,而不是55.
 
$a=45;
 
     function abc($a){ //定义函数
 
       $a += 10;
 
}
 
abc($a); //调用函数
 
echo  ‘$a=’.$a;
 
 
 
在php中一共有三种级别的错误:
 
第一级错误:notice,最轻的错误,还可以执行
 
第二级错误:warn ,警告,还可以执行
 
第三级错误:error ,程序无法执行下去,这个错误是最严重的错误
 
 
 
unset函数解说:
 
(PHP 3, PHP 4 )
 
unset -- 释放给定的变量,当我们不想使用该变量时就可以释放这个变量。
 
描述
 
void unset ( mixedvar [, mixed var [, ...]])
 
unset()销毁指定的变量。注意在 PHP 3 中,unset() 将返回 TRUE(实际上是整型值 1),而在 PHP 4 中,unset() 不再是一个真正的函数:它现在是一个语句。这样就没有了返回值,试图获取 unset() 的返回值将导致解析错误。
 
如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用unset() 之前一样的值。即在函数外部该全局变量仍保持原样。如果在函数中unset() 一个通过引用传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用unset() 之前一样的值。即形参是个取地址符的情况。
 
php有点类似C语言,不支持多态,不允许同名函数的存在,但对于形参更灵活,在调用时可以不写或少写几个形参值。还可以给形参赋默认值。例如 function diyMethod($a,$b=3)就是给形参赋默认值为3 ,php函数默认传值方式是值传递,要想使用引用传递(地址传递),在形参前加上地址符&就可以了。引用传递其实有点相当于变相地将形参所对应的调用该函数的传入参数变成了全局变量。虽然没有global声明。引用传递会改变传入参数的值!但要注意这里的引用并不是C语言的指针.因为指针本身是一个变量,而php的引用其实是变量的一种别名,说白了,就是一个地址可以有多个变量名字。在 PHP 中引用意味着用不同的名字访问同一个变量内容。当用 global $var 声明一个变量时实际上建立了一个到全局变量的引用。
 
 
 
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() 函数定义,而不能通过赋值语句; 
* 常量可以不用理会变量范围的规则而在任何地方定义和访问; 
* 常量一旦定义就不能被重新定义或者取消定义; 
* 常量的值只能是标量。 
定义常量 
<?PHP 
define("CONSTANT", "Helloworld."); 
echo CONSTANT; // outputs "Helloworld." 
echo Constant; // outputs "Constant"and issues a notice. 
?>
 
跳水比赛,10个评委打分,去掉一个最高分和一个最低分,然后求剩下的评委的分数总和的平均分为该运动员的得分,试输出给最高分的评委和给最低分的评委以及该运动员的得分。
 
答案如下:
 
 

<?php
    $arr = array("arial"=>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]."<br />";
    unset($newArr);
    $newArr=getMinMax($arr,false);
    $sum -= $newArr[1];
    echo '<br />the highest degree people is '.$newArr[2];
    echo '<br />the average degree is '.$sum/(count($arr)-2);
?>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索函数
, 变量
, 无法解析的外部符号
, 常量
, 形参
, 全局
, 引用其他文件全局变量
, 引用返回值 引用形参
, php全局变量global
, 一个
, 变量基础知识
, php预定义常量
, php保持值
php预定义变量
java基础知识总结笔记、会计基础知识重点笔记、烘焙入门基础知识笔记、教育基础知识笔记、公共基础知识高分笔记,以便于您获取更多的相关知识。

时间: 2024-08-24 21:24:49

php基础知识笔记的相关文章

神经网络基础知识笔记

神经网络表示 神经元模型 神经网络从大脑的工作原理得到启发,可用于解决通用的学习问题.神经网络的基本组成单元是神经元(neuron).每个神经元具有一个轴突和多个树突.每个连接到本神经元的树突都是一个输入,当所有输入树突的兴奋水平之和超过某一阈值,神经元就会被激活.激活的神经元会沿着其轴突发射信号,轴突分出数以万计的树突连接至其他神经元,并将本神经元的输出并作为其他神经元的输入.数学上,神经元可以用感知机的模型表示. 一个神经元的数学模型主要包括以下内容: 名称 符号 说明 输入 (input)

Javascript基础学习笔记(菜鸟必看篇)_基础知识

什么是变量? 变量是用于存储信息的容器 变量的声明 语法: var 变量名 变量名 = 值; 变量要先声明再赋值 变量可以重复赋值 变量的命名规则 变量必须以字母开头: 变量也能以$和_符号开头(不过我们不推荐这么做): 变量名称对大小写敏感(a和A是不同的变量). 语句 语句以一个分号结尾:如果省略分号,则由解析器确定语句的结尾. 有个好的编码习惯,都要以 ; 结尾 数据类型 在JavaScript中,一段信息就是一个值(value).值有不同的类型,大家最熟悉的类型是数字.字符串(strin

JavaScript高级程序设计(第3版)学习笔记 概述_基础知识

在JavaScript面世之初,没有人会想到它会被应用的如此广泛,也远比一般人想象中的要复杂强大的多,在我自己学习的过程中,曾经有过多次震撼,只是常常没有过多久,很多美轮美奂的用法就又模糊起来,希望通过对JavaScript高级程序设计(第3版)的专题学习笔记,能够较为系统的将基础知识梳理一次,也能够将自己平常学习与工作过程中遇到的一些美妙用法记录下来,便于自己再次学习,当然,也希望可以给有需要的朋友们一些力所能及的帮助. 相关术语 先简要说一下和JavaScript相关的一些背景术语,就不详细

bootstrap基础知识学习笔记_javascript技巧

在此就不做 bootstrap 的介绍了,近几年 bootstrap 越来越流行,一点不亚于 js 中的 jquery. 以下为 bootstrap 3.3.5 学习中记录的东西,方便查阅,作者使用的是 jsp ,跟 html 可能有稍许不同,请自行参考修改 [引用文件] [页面引用] 路径请自行规划 <script type="text/javascript" src="<%=path%>/js-lib/jquery/jquery-1.11.2.min.j

第二课笔记:搜索引擎基础知识和工作原理

  大家好,我是专门从事SEO的,几个月来一直都在维护和优化按摩器排行榜www.yziyuan.com这个网站,并从中总结了很多的经验和知识.今天要分享的是<搜索引擎基础知识和工作原理>,这是最基本的概念吧, 第一部分:什么是搜索引擎? 1,定义? 官方定义: 搜索引擎是指根据一定的策略.运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统.百度和谷歌等是搜索引擎的代表. 我的理解是: 按照搜索引擎的搜索规则去设置目标网站的

JavaScript 学习笔记之基础中的基础_基础知识

概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成   javascript  ECMAScript(核心) DOM(文档对象模型) BOM(浏览器对象模型) 1.1ECMAScript ECMAScript是通过ECMA-262标准化的脚本语言,ECMA-262规定语言的:语法.类型.语句.关键字.保留字.操作符.对象 1.2 DOM DOM把整个页面映射为一个多层节点结构,HTML或者XML等页面中的每个组成部分都是某种类型的节点,这些节点又包含不同类

javascript学习笔记(一)基础知识_基础知识

基本概念 javascript是一门解释型的语言,浏览器充当解释器. js执行引擎并不是一行一行的执行,而是一段一段的分析执行. 延迟脚本 HTML4.0.1中定义了defer属性,它的用途是表明脚本在执行时不会影响页面的构造.也就是说,脚本会延迟到整个页面都解析完毕后再执行.因此,在<script>元素中设置defer属性,相当于告诉浏览器立即下载,但延迟执行.在XHTML文档中,要把defer属性设置为defer="defer" 异步脚本 html5为<scrip

HTML基础知识学习笔记

毕业也快一年,一直从事网络推广工作,工作中经常接触到HTML代码,虽然大学里学过一些,但是自己仍然对HTML基础知识不够顽固,对于HTML没有系统性的概念.在这几天的HTML基础知识学习当中,主要有以下几点感悟. 1.看似熟悉,具体用法不懂 对于HTML基础知识,只能说大部分都是认识,知道代码是什么意思,可是详细的细分,具体代码怎么用,自己有不知道,对一些标记的属性根本不知道.比如说基本蚊子标记符<SUB>下角标和<SUP>上角标,网页标记<meta>网页的语言,之前的

C# 系统应用之Cookie\Session基础知识及php读取Cookie\Session

本文主要是毕业设计"个人电脑使用记录清除软件"系列系统应用文章中关于Cookie方面的知识,主要从介绍Cookie的基础知识和PHP关于Cookie\Session两个会话管理机制的讲述.结合自己的PHP课程及Cookie方面的文章.提醒:由于作者写时有点晚,思路有些乱,文章论述和排版都不太满意,太杂乱无章,请海涵! 一. cookie基础知识 <一>.什么是Cookie?Cookie/Cookies置某些网站为了辩护用户身份而存储在本地终端(Client Side)上的数