当前位置:文档之家› 令PHP初学者的困惑的10个知识点

令PHP初学者的困惑的10个知识点

令PHP初学者的困惑的10个知识点
令PHP初学者的困惑的10个知识点

令PHP初学者的困惑的10个知识点

【1】页面之间无法传递变量 get,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$_POST['foo'],$_SESSION['foo']来得到。当然也可以修改自动全局变量为开(php.ini改为register_globals = On);考虑到兼容性,还是强迫自己熟悉新的写法比较好。

注:PHP中的超全局变量

从PHP 4.2.0 开始,register_globals 的默认值为 off,这样一来,以前的很多可以直接使用的变量,如 $PHP_SELF 或者你设定的SESSION变量都不能用“$变量名”的形式访问了,这可能会给你带

来很多不变,但却有助于安全性的提高。访问这些变量,你需要使用PHP 超全局变量,如下:

$_SERVER

变量由 Web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $HTTP_SERVER_VARS 数组。以前的$PHP_SELF对应

$_SERVER['PHP_SELF'],你可以使用phpinfo来查看你的$_SERVER 变量。

$_GET

经由 HTTP GET 方法提交至脚本的变量。类似于旧数组

$HTTP_GET_VARS 数组。

$_POST

经由 HTTP POST 方法提交至脚本的变量。类似于旧数组

$HTTP_POST_VARS 数组。

$_COOKIE

经由 HTTP Cookies 方法提交至脚本的变量。类似于旧数组$HTTP_COOKIE_VARS 数组。

$_SESSION

当前注册给脚本会话的变量。类似于旧数组 $HTTP_SESSION_VARS 数组。

$_FILES

经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组$HTTP_POST_FILES 数组。

$_ENV

执行环境提交至脚本的变量。类似于旧数组 $HTTP_ENV_VARS 数组。对于$_FILES变量:(文件域字段为“myfile”)

$_FILES['myfile']['name']

客户端机器文件的原名称(包括路径)。

$_FILES['myfile']['type']

文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。$_FILES['myfile']['size']

已上传文件的大小,单位为字节。

$_FILES['myfile']['tmp_name']

文件被上传后在服务端储存的临时文件名(包括路径)。

$_FILES['myfile']['error']

和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0 版本中增加的。

当 php.ini 中的 register_globals 被设置为 on 时,

$myfile_name 等价于 $_FILES['myfile']['name'],$myfile_type 等价于 $_FILES['myfile']['type']等。

【2】win32下的session不能正常工作

php.ini默认的session.save_path = /tmp

这显然是linux下的配置,win32下php无法读写session文件导致session无法使用,把它改成一个绝对路径就可以了,例如session.save_path = c:\windows\temp。

【3】显示错误信息

当php.ini的display_errors = On并且error_reporting = E_ALL 时,将显示所有的错误和提示,调试的时候最好打开以便纠错,如果你用以前php写法错误信息多半是关于未定义变量的。变量在赋值以前调用会有提示,解决办法是探测或者屏蔽,例如显示$foo,可以

if(isset($foo)) echo$foo 或者echo @$foo

【4】header already sent

这个错误通常会在你使用HEADER的时候出现,他可能是几种原因:1,你在使用HEADER前PRING或者ECHO了2.你当前文件前面有空行3.你可能INCLUDE了一个文件,该文件尾部有空行或者输出也会出现这种错误。

【5】更改php.ini后没有变化

重新启动web server,比如IIS,Apache等等,然后才会应用最新的设置。

【6】有时候sql语句不起作用,对数据库操作失败。最简便的调试方法,echo那句sql,看看变量的值是否能得到。

【7】include和require的区别

两者没有太大的区别,如果要包含的文件不存在,include提示notice,然后继续执行下面的语句,require提示致命错误并且退出。根据测试,win32平台下它们都是先包含后执行,所以被包含文件里最好不要再有include或require语句,这样会造成目录混乱。或许*nux下情况不同,暂时还没测试。如果一个文件不想被包含多次可以使用include_once或require_once## 读取,写入文档数据:function r($file_name) {

$filenum=@fopen($file_name,"r");

@flock($filenum,LOCK_SH);

$file_data=@fread($filenum,filesize($file_name));

@fclose($filenum);

return $file_data;

}

function w($file_name,$data,$method="w"){

$filenum=@fopen($file_name,$method);

flock($filenum,LOCK_EX);

$file_data=fwrite($filenum,$data);

fclose($filenum);

return $file_data;

}

【8】isset和empty的区别

两者都是测试变量用的,但是isset是测试变量是否被赋值,而empty 是测试一个已经被赋值的变量是否为空。如果一个变量没被赋值就引用在php里是被允许的,但会有notice提示。如果一个变量被赋空值,

$foo=""或者$foo=0或者 $foo=false,那么empty($foo)返回真,isset($foo)也返回真,就是说赋空值不会注销一个变量。要注销一个变量,可以用 unset($foo)或者$foo=NULL。

【9】mysql查询语句包含有关键字

php查询mysql的时候,有时候mysql表名或者列名会有关键字,这时候查询会有错误。例如表名是order,查询时候会出错,简单的办法是sql语句里表名或者列名加上`[tab键上面]来加以区别,例如select * from `order`。

【10】通过HTTP协议一次上传多个文件的方法

有两个思路,是同一个方法的两种实现。具体程序还需自己去设计1. 在form中设置多个文件输入框,用数组命名他们的名字,如下:< form action="" method="post" >

< input name="usefile" type="file" >

< /form >

这样,在服务器端做以下测试

echo " < pre > ";

print_r($_FILES);

echo " < /pre > ";

2. 在form中设置多个文件输入框,但名字不同,如下:< form action="" method="post" >

< input name="usefile_a" type="file" >

< input name="usefile_b" type="file" >

< input name="usefile_c" type="file" >

< /form >

在服务器端做同样测试:

echo " < pre > ";

print_r($_FILES);

echo " < /pre > ";

php复习考试要点

注意:把题中的知识点要理解,考试时不会出原题,数据要改变,请一定要理解。 一.判断题: 1、$a的值为10,$b的值为5,则$a % $b的值为2。() 2、$a+=5是正确的PHP表达式。() 3、7&3+12的值是15。() 4、“”在PHP中是合法的。() 5 “&s”与正则表达式^[^0-9][0-9]$是匹配的() 6. PHP中用defined()函数来定义常量。() 7.PHP中,变量名$5FFF是合法的,$x?man是不合法的。() 二.程序分析。写出下列各PHP语句段运行后在浏览器里看到的结果。 1. 以下程序 输出结果为:() 2. 下列哪个HTML标记是用来标记图像的?() 3. 以下程序: 运行输出的结果为:() 4. 以下程序: 输出结果为:() 5. PHP中,下列哪个操作符用来连接字符串?() 6. 下列哪一个是正确的PHP变量?() 7. 以下程序: 输出结果为:() 8. 以下程序: 'red',2,'name'=>'apple',4);

echo $a[2]; ?> 输出结果为:() 9. 以下程序 输出结果为:() 10. 表单代码如下,则在index.php中如何得到form传递的email的值? ()

11. 以下哪个表达式返回值为FALSE?() A. '5abc' == 5 B. 'abc' == 0 C. 'top' === 0 D. '1a' == '1a'+0 12. 对于html代码,,在横线上填入哪个值,才代表会显示一个提交按钮。() 13. 请问strlen("I am a teacher")返回的结果是:() 14. 下列哪条语句可用来引入文件“time.inc”?() 15. PHP中,定义一个类的语法为()? 四、程序分析,写出各PHP语句段运行后在浏览器里看到的结果。(每题2分,共30分) 1. 你的成绩及格了! 你的成绩不及格! 2. 3. "; echo 'There are $a $bs.';

51CTO学院-微信公众平台开发-PHP视频教程

微信公众平台开发-PHP视频教程 课程目标 1、了解微信公众平台的原理 2、根据微信公众平台所提供的开发接口来开发一个属于自己的微信 公众平台。3、开发中常用工具的使用。 适用人群 PHP爱好者,具有PHP基础及PHP面向对象相关知识的学员。 课程简介 1、微信公众平台开发者功能启用配置 2、基于新浪SAE平台开发微信公众平台 3、微信公众平台服务器及客户端交互 4、基于VPS开发微信公众平台 5、微信公众平台关注、取消关注等事件 6、微信公众平台文字、图片等消息 7、微信公众平台简单回复 8、微信公众平台机器人API 9、微信公众平台天气API 10、微信公众平台自定义菜单开发 11、微信公众平台微站开发 12、微信公众平台后台管理平台开发 备注:此课程在线服务器为Linux操作系统,开发方式为企业真实开发方式。 第一章课程介绍 1课时5分钟 1 课程介绍 [免费观看] 5分钟 本课程课程目标、课程要求及课程内容介绍。 第二章小试牛刀 4课时29分钟 2 微信公众平台介绍 [免费观看]

5分钟 介绍什么是微信公众平台,微信公众平台的分类,如何申请微信公众平台。 3 微信公众平台开发者接入 [免费观看] 10分钟 新浪SAE平台的申请,应用创建,具体使用,上传代码并进行开发者接入验证; 4 微信公众号默认消息回复 [免费观看] 7分钟 开发者中心配置,如何进行接入,开启微信默认回复。 5 微信公众号简单消息回复 [免费观看] 5分钟 对responseMsg()方法进行修改并完成简单消息回复功能! 第三章基于VPS开发微信公众平台 34课时5小时35分钟 6 VPS介绍 7分钟 什么是VPS,VPS的优点,如何购买VPS。 7 FTP工具filezilla介绍及使用 6分钟 什么是FTP,filezilla工具介绍及使用。 8

php基础知识自测题第一章

一、单选题 1.动态网站隶属性下面哪一种软件开发形式?() A.应用程序开发B.C/S架构软件C.嵌入式程序开发D.B/S架构软件 2.在下面的选项中,哪一种Web构建在开发动态网站时通常用于接收并处理用户事件?() A.HTML B.CSS C.JavaScript D.PHP 3.下面几个后台脚本编程语言中,哪个属于开源的软件?() A.ASP B.PHP C.JSP D.CGI 4.下面几个Web构建中,哪个可以直接作为数据库的客户端应用处理数据库中的数据?() A.JavaScript B.Apache C.Linux D.PHP 5.用于调整网页的外观和布局的Web构建是下列选项中的哪一个?() A.PHP B.JavaScript C.CSS D.XML 6.构建一个网站开发平台,希望具有简易性、低成本、高安全性、开发速度快并且执行灵活,可以选择下面选项中哪一种网站开发平台?() A.https://www.doczj.com/doc/7c1410278.html, B.J2EE C.LAMP D.CGI 7.下面选项中,哪个不属于URL的组成部分?() A.传输协议B.主机C.端口D.Internet 8.如果选用LAMP平台开发Web程序,下面选项中不能使用PHP处理的工作是()。 A.接收用户表单B.处理用户事件C.图像处理D.生成HTML输出 9.在下面的选项中,可以由Web服务器Apache完成的工作是()。 A.解析PHP文件B.连接处理数据库 C.主动建立与客户端连接D.发布网站 10.在下面的选项中,对MySQL数据库描述不正确的是()。 A.MySQL属于C/S结构软件 B.在LAMP组合的开发平台中,MySQL用于保存网站中的内容数据 C.可以使用PHP作为MySQL客户端程序连接并处理MySQL服务器 D.MySQL服务器必须和Apache服务器及PHP应用服务器安装在同一台电脑中 二、简答题 1.了解B/S软件体系结构的特点。 2.掌握动态网站开发所需要的Web构件,以及每种构件在Web开发中的用途。 3.了解网站的运行过程,Web的工作原理。 4.了解HTTP请求/响应模式的过程,以及URL的作用。 5.HTTP协议中几个状态码的含义:503 500 401 200 301 302。 6.探索LAMP组合的特性及应用领域。

PHP试题带答案

评卷人得分分)1分,共10一、是非题:(每题)(说明:认为陈述正确的在括号内打“√”;否则在括号内打“×” )$_abc”不是合法的。(1.PHP中变量名“)数据库。(2.PHP只能使用Mysql)”开始。(3.PHP中的数组键必须为数字,且从“04.全等运算符“===”在比较时,只有在两者的数据类型和值都相同时才返回True。() 5.“mysql_connect( )”与“@mysql_connect( )”没有任何区别。() 6.使用continue语句可以实现PHP程序的跳转。() 7.HTML中的Form表单数据必须使用Submit按钮才可以提交。() 8.PHP中的die()和exit()都可以实现程序中止退出功能。() 9.PHP程序中可以随时嵌入HTML代码和JS代码。() 10.PHP中的Session功能可以完全不受制于客户端的Cookie设置。() 评卷人得分 二、填空题:(每空1分,共10分) 1.HTML的Form表单中定义单选按钮需要使用INPUT的类型,定义复选按钮需要使用INPUT的类型。 2.PHP表达式10%值为,表达式10/值为。 3.Mysql数据库服务默认开放的端口号是,默认管理员为。4.为了能够避免SQL注入,你需要坚持。 5.表达式“”的值为。'Testing'.'3'+'5'.'12'6.PHP 函数中可以利用向外返回一个值,可以使用声明一 个全局变量。 评卷人得分30分)三、单选题:(每题2分,共(说明:将认为正确答案的字母填写在每小题后而的括号内) 1.输出结果为:()A.123 B.423 C.122 D.413 2.The PHP function that is used to create functions, headers, footers, or elements that will be reused on multiple pages is(). A.require() B.refill() C.reuse() D.None of the Above

php100视频教程学习笔记

php100视频教程学习笔记 第一讲:2011年1月10日22:02:50 PHP类似于C,Perl,移植性非常好,参考源码多。 lamp:linux wamp:windows WampServer 5:PHP5.2.5 MySQL5 Apache2 PHPMyAdmin2.11.1.1 SQLiteManager 1.2.0 WAMPS display errors, short open tag:短标签模式WampServer2 标签语言:<%..%> ;结束,否则会出现错误。 注释风格:/**/;//;# Unix风格单行注释 学会使用注释来屏蔽符号来调试 第二讲:2011年1月10日22:03:04 弱类型只是局部变量 _和字母开头 标量类型:Boolean integer float(double) string 复合类型:array object " "支持转译字符,''不支持转译字符。 $bo=array(1,2,3); $bo=arrary("A"=>1,"B"=>2); discuz linux 777:最高权限; 775 第三讲:2011年1月10日22:31:46

1、算术运算。 2、赋值运算。 3、比较运算。 4、逻辑运算。 5、递增递减运算。 【+= *= ==只判断值而不判断类型;===完全比较:数值类型和数值FALSE不输出。 &&逻辑与and; ||逻辑或or; xor逻辑异或;先将比较的两边转换成布尔类型的,在执行它们的关 系。得到值为布尔值。 递增递减只能操作变量。$a++ 相当于+1后输出;++$a 先运算后加$a;;$a--;--$a; 做运算赋值以后在输出:$a=6;echo $a++; //输出为6; 】 第四讲:条件语句2011年1月10日22:22:40 1、 if(expr) echo TRUE; else echo FALSE; 2、规范 if(expr){

PHP基础试题

PHP基础测试题 一、选择题(单选,每题5分) 1、下边哪个变量是非法的( ) A、$_10 B、$10_some C、$aV aRt D、$and 2、下列程序将输出() $num = 10; function abc($num){ $num*=10; } abc($num); echo $num; A、100 B、10 C、0 D、20 3、分析下段代码, 下列选项中()哪个将的到‘cat’值。 "blue", "yellow" => array("apple",9 => "pear","banana","orange" => array("dog","cat","iguana")) ); ?> A、$multi_array['yellow']['apple'][0] B、$multi_array[3][3][2] C、$multi_array['yellow']['orange']['cat'] D、$multi_array['yellow']['orange'][1] 4、以下哪些表达式返回值为TRUE? () A.'1top' == '1' B. 'a1' == 0 C. 'top' === 0 D. 123 === '123' 5、下列代码将输出一个怎样的结果( ) $i = 8; if($i++==8) echo "a"; if($i--==8) echo "b"; elseif(--$i==8) echo "c"; if(++$i==8) echo "d"; A、bd B、ac C、ad D、bc

【后盾网PHP】从入门到精通向军老师_讲解Linux操作系统实战教程

江西省南昌市2015-2016学年度第一学期期末试卷 (江西师大附中使用)高三理科数学分析 一、整体解读 试卷紧扣教材和考试说明,从考生熟悉的基础知识入手,多角度、多层次地考查了学生的数学理性思维能力及对数学本质的理解能力,立足基础,先易后难,难易适中,强调应用,不偏不怪,达到了“考基础、考能力、考素质”的目标。试卷所涉及的知识内容都在考试大纲的范围内,几乎覆盖了高中所学知识的全部重要内容,体现了“重点知识重点考查”的原则。 1.回归教材,注重基础 试卷遵循了考查基础知识为主体的原则,尤其是考试说明中的大部分知识点均有涉及,其中应用题与抗战胜利70周年为背景,把爱国主义教育渗透到试题当中,使学生感受到了数学的育才价值,所有这些题目的设计都回归教材和中学教学实际,操作性强。 2.适当设置题目难度与区分度 选择题第12题和填空题第16题以及解答题的第21题,都是综合性问题,难度较大,学生不仅要有较强的分析问题和解决问题的能力,以及扎实深厚的数学基本功,而且还要掌握必须的数学思想与方法,否则在有限的时间内,很难完成。 3.布局合理,考查全面,着重数学方法和数学思想的考察 在选择题,填空题,解答题和三选一问题中,试卷均对高中数学中的重点内容进行了反复考查。包括函数,三角函数,数列、立体几何、概率统计、解析几何、导数等几大版块问题。这些问题都是以知识为载体,立意于能力,让数学思想方法和数学思维方式贯穿于整个试题的解答过程之中。 二、亮点试题分析 1.【试卷原题】11.已知,,A B C 是单位圆上互不相同的三点,且满足AB AC → → =,则A BA C →→ ?的最小值为( ) A .1 4- B .12- C .34- D .1-

PHP基础语法案例

第二章PHP基础语法案例 案例2-1 HTML中嵌入PHP 一、案例描述 1、考核知识点 PHP注释 2、练习目标 熟悉PHP嵌入到HTML中的语法风格 了解HTML注释与PHP注释的区别 3、需求分析 PHP是嵌入到HTML中的脚本语言,PHP核心程序通过PHP的标记找到需要解析的代码。 我们尝试将PHP的代码放在HTML中的任意位置,看它会不会起作用,再试试HTML的注释能不能注释PHP的标记与代码,PHP的注释能不能注释HTML的代码。 4、设计思路(实现原理) 1)创建文件test.php,在里面写一段HTML代码。 2)在HTML代码中用PHP输出HTML的标签和属性。 3)用HTML的注释PHP的标记与代码。 4)试试能不能用PHP注释HTML的代码。 二、案例实现 1、创建文件test.php,在里面写一段HTML代码,代码如下:

这是一个案例

2、在HTML代码中用PHP输出HTML的标签和属性,代码如下:

这是一个案例

这是一段文字';?>
3、将PHP的代码放到HTML的注释中,代码如下: 1

这是一个案例

这是一段文字';?>
4、用PHP注释HTML的代码,代码如下:

这是一个案例

这是一段文字';?>
此句话被注释。 使用浏览器访问test.php,结果如下图所示: 然后查看网页源代码,结果如下图所示: 操作说明:请将“这是一个案例”改为“我是××”,写上你的名字;请将“这是一段文字”改为“我的学号是××”,写上你的名字; 三、案例总结 1、PHP代码可以嵌入到HTML代码中的任何位置,包括注释里。 2、被HTML注释起来的PHP代码仍然会执行。 3、PHP可以分成两段标记来注释HTML的代码。 案例2-2 交换两个变量的值 一、案例描述 1、考核知识点 2

PHP语法总结

PHP语法 简介: PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了C、Java、Perl 以及PHP 自创新的语法。它可以比CGI 或者Perl 更快速的执行动态网页。 PHP语法与C最大的不同之处在于PHP重实用,而C重原理。PHP的创始人是为了更新自己的主页而设计PHP的,不是像C的创始人那样为了开发操作系统,这是两者语法风格不同的根本原因。 重点: PHP的基本语法:数据类型、常量、变量、运算符与表达式、流程控制、函数、数组。 1、PHP的数据类型 不管常量还是变量都不需要先定义后使用(类中的变量除外),PHP根据第一次赋值的情况自动决定数据类型。 PHP的基本变量类型有整型(Integer)、浮点型(Float)、字符串(String)(这是C 没有的,但C++有String类)以及布尔型(Boolean)(C没有,但是C++有)。 构造类型有数组和对象。 此外还有两个特殊类型:空值(NULL)(C也有)和资源(Resource)。 2、定义常量 用define函数来定义 define函数原型:bool define(string name,value,[,bool case_insensitive])第三个参数如果是TRUE,则表示常量名是大小写不敏感的,反之就是敏感的,默认是敏感的。 【例】复制PHP内容到剪贴板 PHP代码: 运行结果:输出常量C1的值(Hello PHP World!)。 内容解释和补充: ① 是PHP代码的定界符,将PHP代码同HTML代码区分出来。 ② PHP代码的语句以分号结束

php面试题及答案

php面试题及答案,经典php笔试题与答案 问题 1.考虑如下脚本。标记处应该添加什么代码才能让脚本输出字符串 php? $alpha = 'abcdefghijklmnopqrstuvwxyz'; $letters = array(15, 7, 15); foreach($letters as $val) {/* 这里应该加入什么 */ } ?> A.echo chr($val); B.echo asc($val); C.echo substr($alpha, $val, 2); D.echo $alpha{$val}; E.echo $alpha{$val+1} 2.以下哪一项不能把字符串$s1 和$s2 组成一个字符串? A.$s1 + $s2 B.”{$s1}{$s2}” C.$s1.$s2 D.implode(”, array($s1,$s2)) E.以上都可以 3.变量 $email 的值是字符串 user@https://www.doczj.com/doc/7c1410278.html, ,以下哪项能把字符串转化成 https://www.doczj.com/doc/7c1410278.html,? A.substr($email, strpos($email, “@”));

B.strstr($email, “@”); C.strchr($email, “@”); D.substr($email, strpos($email, “@”)+1); E.strrpos($email, “@”); 4.给定一个用逗号分隔一组值的字符串,以下哪个函数能在仅调用一次的情况下就把每 个独立的值放入一个新创建的数组? A.strstr() B.不可能只调用一次就完成 C.extract() D.explode() E.strtok() 5.要比较两个字符串,以下那种方法最万能? A.用 strpos 函数 B.用==操作符 C.用 strcasecmp() D.用 strcmp() 6.以下哪个 PCRE 正则表达式能匹配字符串 php|architect? A..* B.…|……… C.\d{3}\|\d{8} D.[az]{3}\|[az]{9} E.[a-z][a-z][a-z]\|\w{9} 7.以下哪些函数能用来验证字符串的完整性?(三选)

PHP视频教程之PHP搜索附近的人实现代码

PHP视频教程之PHP搜索附近的人实现代码 搜索附近的人这项功能对我们来说已经不在陌生了,那么搜索附近的人怎么用PHP实现呢?本篇文章小编就带读者们来了解一下PHP搜索附近的人如何用代码实现。 本文实例为大家分享PHP实现搜索附近的人具体代码,供大家参考,具体内容如下。 实现思路: 首先,我们应该这样想:既然我们知道了用户当前位置的经纬度,又知道我们将要搜索的范围,我们可不可以计算出一个范围?也就是说,根据一个中心点和半径,计算出符合条件的经纬度的最大值和最小值。 具体实现: 那么到此,想要独立思考完成的小伙伴可以不要继续往下看了。 上面我们提到该功能的一个实现原理,接下来我们就讲解一下具体的实现步骤。 我们先声明一个函数,用作计算经纬度的范围: /** * 根据经纬度和半径计算出范围 * @param string $lat 纬度 * @param String $lng 经度 * @param float $radius 半径 * @return Array 范围数组 */ private function calcScope($lat, $lng, $radius) { $degree = (24901*1609)/360.0; $dpmLat = 1/$degree; $radiusLat = $dpmLat*$radius; $minLat = $lat - $radiusLat; // 最小纬度

$maxLat = $lat + $radiusLat; // 最大纬度 $mpdLng = $degree*cos($lat * (PI/180)); $dpmLng = 1 / $mpdLng; $radiusLng = $dpmLng*$radius; $minLng = $lng - $radiusLng; // 最小经度 $maxLng = $lng + $radiusLng; // 最大经度 /** 返回范围数组 */ $scope = array( 'minLat' => $minLat, 'maxLat' => $maxLat, 'minLng' => $minLng, 'maxLng' => $maxLng ); return $scope; } 返回的数组中包含了在$radius 范围内,符合条件的最大最小经纬度。既然我们已经获取到了范围,那么我们就可以开始从数据库中查找所有在这个经纬度范围内符合条件的记录: /** * 根据经纬度和半径查询在此范围内的所有的电站 * @param String $lat 纬度 * @param String $lng 经度 * @param float $radius 半径 * @return Array 计算出来的结果 */ public function searchByLatAndLng($lat, $lng, $radius) { $scope = $this->calcScope($lat, $lng, $radius); // 调用范围计算函数,获取最大最小经纬度 /** 查询经纬度在 $radius 范围内的电站的详细地址 */ $sql = 'SELECT `字段` FROM `表名` WHERE `Latitude` < '.$scope['maxLat'].' and `Latitude` > '.$scope['minLat'].' and `Longitude` < '.$scope['maxLng'].' and `Longitude` > '.$scope['minLng']; $stmt = self::$db->query($sql); $res = $stmt->fetchAll(PDO::FETCH_ASSOC); // 获取查询结果并返回 return $res; }

PHP学习入门的一些基础知识(菜鸟必看)

PHP学习入门的一些基础知识(菜鸟必看) 一,PHP脚本代码标记 PHP的脚本是文件中一对特殊标记所包括的内容,如ASP是“<%....%>”,PHP可看成是“”。 然而为了适应XML标准以将PHP嵌入到XML或XHTML中,PHP不建议使用短格式的“”,而建议使用长格式标记“” 此外PHP代码块还支持 的标记形式。 二,PHP指令分隔符 PHP的每条语句需要由分号“;”隔开,但对于PHP结束标记“?>”来说,因其自动隐含一个分号,所以不需要追加分号。 所以,一个PHP脚本的格式可如下: 三,PHP的注释 PHP多行注释使用“/* ......... */” 单行注释使用“#”或“//” 四,PHP的输出 ASP中使用“<%=...%>”快速输出单行,或使用“<%Response.Write("...")%>” 在PHP中直接使用“echo()”或“print()”,比如: 将输出为“abcd”,以上四种均能正常输出。 但这在ASP中,尤其是 echo "a";和 echo d; 均输出为字符串本身,是不可能的。这就需要了解到PHP的变量定义。 五,PHP的变量 和ASP一样,PHP变量也可以不需要先定义,直接使用即可。对于变量的类型,在赋值时自动生成。 PHP中的各种变量均在变量名前加上“$”以示区别。 输入为“a123” 六,PHP中的单引号和双引号之别 输出为“123$a”,其中 echo "$a" 输出了变量a的值,而 echo '$a' 输出的是单引号中的字符串本身。 则输出为“123'123'”并不是“123$a”。虽然是'$a',但置于双引号下变量还是被替换了。 所以,可以得出:只要是双引号中内容中的变量,都会被替代;而单引号中的则不作任何替换。 双引号中的内容需转义的,新濠天地娱乐场https://www.doczj.com/doc/7c1410278.html, 使用“\”前缀,比如“\\”,“\$”、“\"”。所以要输入“123$a”,则为 再比如: 输出为“123$a"\”。 ASP转学PHP需要注意: 1,分隔符逗号“;”容易忘记写。2,变量的定义和使用。3,单引号和双引号的用法。

学习php前需要掌握的基础知识

学习php前需要掌握的基础知识学习php前需要掌握的基础知识 html,css,javascript主要是用来做前台页面的,有人会问, 既然我是学php,做的是后台程序,为什么要学前台制作呢?再说,大公司对于前台,后台,美工等不都有明确分工吗,还用的`着我去写?是的,但是那是大公司,对于小公司来讲这些都是要一个人完 成的。从页面设计,页面布局,美工,再到后台处理都是一个人或 者几个人完成,没有明确的分工。所以必须前台,后台都会。在大 公司里面,虽然有明确的分工,前台的这些东西虽然不要求你写, 但是你必须要看得懂。 mysql要掌握的就是sql语句,无非就是增、删、该、查,还有 数据库优化等,这些比较简单,学起来也比较快,也是必须要掌握 的知识。 至于ajax,jquery这些知识,当你的php学到一定程度的时候,可以考虑去学这些,因为在很多大型项目里面都要用到ajax,特别 是聊天室。 下面列出学习php需要做到的: 1,保证你在手册的帮助下能看懂PHP代码。 2,保证你可以基本使用MySQL,常用的查询,包括联合查询都 要会。MySQL的安装和用户权限配置要会。 3,保证你熟练使用table,理解HTML的数据组织和显示逻辑。 4,保证你理解CSS并可以进行DIV+CSS的布局,掌握 DIV,UL,DL,SPAN,P等常见标记。(如果是专业人员,还要学习浮动,定位,lightbox等)。

5,保证你可以写常用的Javascript代码,并开始学习Javascript的库,例如Jquery。学习JS的库记住不要一下子去看 源代码,先看手册然后根据例子学习,学会调用就可以了。(专业 前台要研究库文件)。 1~5完成后,你就掌握了基本功,并且具备了单个文件处理问题 的能力。这个时候开始学习业务逻辑。什么业务逻辑呢,就是通过 代码的组织做出一个一个使用的功能。最基本的就是留言本了。这 个部分最重要的就是理解,网站显示习惯,设置习惯,管理习惯, 用户发布习惯。 6,熟练编写留言本。可以熟练地通过几个PHP文件来实现小功能。比如,那些文件用来显示,哪些文件用来管理,哪些文件用来 发布内容。并且粗略了解了会员功能。(可以下载留言本程序研究 学习)。 7,开始接触大点的项目。先了解网站的网页流程。培养流程思路。这个时候,可以多装几个开源的PHP产品(包括国内外的), 例如Discuz,DeDeCMS,Drupal等等。先不看这些产品的核心代码。看些配置,安装,模板的应用和接口 8,开始了解网站业务架构,包括前台,后台,会员,数据流 (用户到数据库,数据库到用户)。熟练掌握流程设计,比如要增 加一个图片上传功能,需要几个文件。 9,找工作进行实践,一开始不要太挑剔,但是一定要找让你发 挥的公司,开始接触客户需求,如何整理文档,解决bug。 10,在工作半年到一年左右,开始进行总结,根据选择的公司和你所做的应用,开始总结开发模式,模板引擎,数据库设计等。

php期末考试试题

《PHP程序设计》上机期末考试试题 一、调试下列各小题的输入结果(每题10分,共34分) 1、 调试答案:____________________________. 2、$c?4:5; echo $a; ?> 调试答案:____________________________. 3、1,12=>2); $arr[]=3; $arr["x"]=4; print_r($arr); echo "
"; unset($arr[5]); print_r($arr); echo “
”; unset($arr); print_r($arr); ?> 调试答案:____________________________. 4、10) break; echo $i++." ";} echo "
"; ?> 调试答案:____________________________. 5、"; for($i=1;$i<=$m;$i++){ $table.=""; for($j=1;$j<=$n;$j++){ $table .= "m:$i, n:$j";

} $table .= ""; } $table .= ""; echo $table; ?> 调试答案:____________________________. 6、"; echo gzgets($id,4)."
"; gzclose($id);$id=gzopen("test.gz","w"); gzputs($id,"this is a test.\n"); gzputs($id,"the second line.\n"); gzclose($id);$id=gzopen("test.gz","r"); echo gzgetss($id,10)."
"; gzpassthru($id); echo "
"; gzclose($id); ?> 调试答案:____________________________. 二、编程题及程序调试(每题20分共计40分) 1、有一个数组$a=array(4,3,8,9,2),将其重新排序并输入结果,按从小到大的顺序排列。1、 $a[$i+1]) { $temp = $a[$i]; $a[$i] = $a[$i+1]; $a[$i+1] = $temp; } } $j++; } print_r($a); ?> 2、数据库qzh中有一个表user,其结构为(name,tel,content,date),已有如下三条记录 张三133******** 大专毕业2006-10-11 张三136******** 本科毕业2006-10-15

phP基础知识期末考试题

1.mysql_connect( )与@mysql_connect( )的区别是( B ) A@mysql_connect( )不会忽略错误,将错误显示到客户端 B mysql_connect( )不会忽略错误,将错误显示到客户端 C 没有区别 D 功能不同的两个函数 2.语句for($k=0;$k=1;$k++);和语句for($k=0;$k==1;$k++);执行的次数分别是: A A无限和0 B 0和无限 C 都是无限 D 都是0 3.读取post方法传递的表单元素值的方法是: B A$_post["名称"] B $_POST["名称"] C $post["名称"] D $POST["名称"] 4.php运算符中,优先级从高到低分别是()B A关系运算符,逻辑运算符,算术运算符 B 算术运算符,关系运算符,逻辑运算符 C 逻辑运算符,算术运算符,关系运算符 D 关系运算符,算术运算符,逻辑运算符 5.cookie的值存储在() C A硬盘中 B 程序中 C 客户端 D 服务器端 6.要查看一个变量的数据类型,可使用函数( ) B A type() B gettype() C GetType() D Type() 7.字符串的比较,是按()进行比较。B A拼音顺序 B ASCII码值 C 随机 D 先后顺序 8.复选框的type属性值是( ) A

A checkbox B radio C select D check 9.SESSION会话的值存储在()D A硬盘上 B 网页中 C 客户端 D 服务器端 10.如果想取得最近一条查询的信息,应该使用哪个函数( ) A A mysql_info B mysql_stat C mysql_insert_id( ) D mysql_free_result 11.要查看一个结构类型变量的值,可以使用函数( ) D A Print( ) B print( ) C Print_r() D print_r( ) 12.在PHP中哪个变量数组总是包含所有总客户端发出的cookies数据( ) A A$_COOKIE B $_COOKIES C $_GETCOOKIE D $_GETCOOKIES 13.下列哪个说法是错误的( ) D A gettype( )是查看数据类型的 B 没有被赋值的变量是0 C unset( )是被认为NULL D 双引号字符串最重要的一点是其中的变量名会被变量值替代 14.HTML中,超链接用的是什么标签 A A〈a> B 〈table> C 〈b> D 〈head> 15.strtolower( )函数的功能是()A upper 转为大写 A将给定的字符串全部转换为小写字母 B 将给定的字符串全部转换为大写字母

高中信息技术必修知识点总结(最新整理)

信息技术基础(必修)知识点整理 第一章信息特征和信息技术发展 1.信息是利用各种载体(文字、符号、声音、图形、图像、视频、动画等),通过各种渠道所 传播的内容(信号、消息、情报、报道等) ☆信息与载体密不可分,没有无载体的信息,信息必须通过载体才能显示出来。 2.信息的一般特征有载体依附性、价值性、时效性、共享性、真伪性等。 1)、载体依附性 信息不能独立存在,必须依附于一定的载体,而且,同一个信息可以依附于不同的载体。 信息按载体不同可分为(文字、图形(图象)、声音、动画、视频)。 2)、价值性 ☆信息是有价值的,人类离不开信息。物质、能量和信息是构成世界的三大要素。 ☆信息与物质、能量不同,表现在两方面:一方面它可以满足人们精神领域的需求;另一方面,可以促进物质、能量的生产和使用。 ☆信息只有被人们利用才能体现出其价值,而有些信息的价值则可能尚未被我们发现。 3)、时效性 信息会随着时间的推移而变化,如交通信息,天气预报等。 4)、共享性----信息不同于物质、能量的主要方面 信息共享一般不会造成信息的丢失,也不会改变信息的内容。 3.信息技术的简称是IT。 一切与信息的获取、加工、表达、交流、管理和评价等有关的技术都可以称之为信息技术。4.信息技术的五次革命 第一次信息技术革命是语言的使用,是从猿进化到人的重要标志; 第二次信息技术革命是文字的创造,使信息的存储和传递首次超越了时间和地域的局限; 第三次信息技术革命是印刷术的发明,为知识的积累和传播提供了更可靠的保证; 第四次信息技术革命电报、电话、广播、电视的出现和普及,进一步突破时间和空间的限制;第五次信息技术革命是计算机技术与现代通信技术的普及应用,人类社会推进到了数字化信息时代。 ☆信息技术在不断更新,但一些古老的信息技术仍在使用,不能因为出现了新的信息技术就抛弃以前的信息技术。 5.信息技术发展趋势: ●越来越友好的人机界面:图形用户界面(GUI)、磁盘操作系统(DOS) 虚拟现实技术:如3D游戏、电子宠物等。 语音技术:语音技术的关键技术有自动语音识别技术和语音合成技术。 智能代理技术典型的例子是搜索引擎中的“机器人”或“蜘蛛”程序、“Office助手”。 ●越来越个性化的功能设计:信息技术产品走向了个性化和集成化的发展方向。 ●越来越高的性能价格比:性能越来越高,价格越来越低

分享PHP从入门到精通全套视频教程打包下载

分享PHP从入门到精通全套视频教程打包下载 1、9.1了解javascript.exe 2、9.2javascript语言基础.exe 3、9.3自定义函数.exe 4、9.4javascript流程控制语句.exe 5、9.5javascript事件.exe 6、9.6javascript脚本嵌入方式.exe 7、9.7在php中调用javascript脚本.exe 8、8.1web页表单元素的组成.exe 9、8.2在普通的web页中插入表单.exe10、8.3获取表单数据的两种方法.exe11、8.4php传参的常用方法.exe12、8.5在web页中嵌入php脚本.exe13、8.6在php中获取表单数据.exe14、8.7对url传递的参数进行编码解码.exe15、8.8php与web表单的综合应用.exe16、7.10数组排序.exe17、7.1了解数组.exe18、7.2声明数组.exe 19、7.3数组的类型.exe20、7.4输出数组.exe21、7.5数组的构造.exe22、7.6遍历数组.exe23、7.7合并数组.exe24、7.8字符串与数组的转换.exe 25、7.9统计数组元素个数.exe26、6.1什么是正则表达式.exe27、6.2正则表达式语法规则.exe28、6.3posix扩展正则表达式函数.exe29、6.4pcre 兼容正则表达式函数.exe30、5.1字符串简介.exe31、5.2单引号和双引号的区别.exe32、5.3字符串的连接符.exe33、5.4字符串操作.exe34、4.1条件控制语句.exe35、4.2循环控制语句.exe36、3.1php标记风格.exe37、

PHP面向对象知识总结

面向对象知识: 1 你对面向对象的认识 2 什么是类?什么是对象?类和对象之间的关系? 类:类是具有相同属性和行为的一组对象的集合 对象:对象是实际存在的该类事物的每个个体,因而也称实例 类和对象的关系:类是对象的抽象,对象是类的实例 3 面向对象的3大特征 继承,封装,多态 4 怎么创建一个类的对象? 使用new 这个关键字创建对象 5 什么是构造方法(函数)?怎么定义?有什么样的特点? 构造方法(在OO中,函数被称为方法) 1 特殊的名称:__construct 2 在实例化对象时,自动被调用 3 在内存中划分了对应的内存空间区域 4 构造方法可以像普通方法一样,接收参数;这里的参数通常是用来初始化类中的属性的 5 构造方法不能重复定义,每个类当中有且只能有一个;如果不写相当于有一个默认的不带参数且没有任何执行语句的空函数 6 什么是析构方法(函数)?怎么定义?有什么特点? 析构函数:当某个对象成为垃圾或者当对象被显式销毁时执行。 __destruct() 析构函数,是在垃圾对象被回收时执行。 析构函数也可以被显式调用,但不要这样去做。 析构函数是由系统自动调用的,不要在程序中调用一个对象的虚构函数。 析构函数不能带有参数。 7 什么是封装?有什么作用?列举一些封装的实例 封装就是把对象的属性和行为结合成一个独立的相同单位,并尽可能隐藏对象的内部细节。 优点:信息隐蔽,封装即隐藏(目的:不能让别人随意修改信息)。 怎么实现封装? (1.访问修饰符(public、protected、private) (2.类 (3.函数方法 (4.文件 (5.文件夹 8 访问修饰符有哪3个?分别有什么作用、特点 public 公共的谁都可以用,也可以修改 protected 受保护的只有自己和后代可以使用和修改 private 私有的只有自己可以使用和修改 9 什么是继承?关键字是什么?有什么作用? 继承:扩展父类的内容,注意只能继承public和protected修饰的内容,而private 修饰的则不能继承 关键字:extends

文本预览
相关文档 最新文档