php 温故而知新 好久不用 又得继续学习下

1.php注释:/* */、//、#等三种方式
2.echo:向浏览器输出字符串,echo其实是一个函数;返回值:无
3.print:向浏览器输出字符串,它也是一个函数;返回值:整型。
            echo与print的功能几乎相同,但echo的运行速度比print要快,因为echo无返回值,而print有返回值 
4.printf功能:向浏览器输出字符串;返回值:字符串的长度。

5.php变量的创建:格式 :$+标识符。变量的数据类型有整型、浮点型、字符串、布尔型、数组、对象。php是弱类型,其类型是通过赋值来确定变量的类型的。
   /** 超级全局变量
   *    $GLOBALS :所有全局变量数组
   *    $_SERVER:服务器环境变量数组
   *    $_GET:通过get方法传递给该脚本的变量数组
   *    $_POST:通过POST方法传递给该脚本的变量数组
   *    $_COOKIE:cookie变量数组
   *    $_FILES:与文件上载相关的变量数组
   *    $_ENV:环境变量数组
   *    $_REQUEST:所有用户输入的变量数组
   *    $_SESSION:会话变量数组
   *    常量一旦被定义,就不能被修改。除了自定义常量外,php还预定了许多常量,了解这些常量的简单方法就是运行phpinfo()命令。
   */
//常量定义函数,返回值为布尔型.常量没有$符,变量才有$符的。(变量用小写,常量用大写)
  define("TOTAL", 100);
  echo TOTAL;  //输出100

===================================================================================

魔法常量:并不真的是常量,因为这些魔法常量会根据使用的场合而改变值。

_FILE_                          当前文件名

_LINE_                         当前行号

_FUNCTION_             当前函数名

_CLASS_                    当前类名

_METHOD_                当前方法名

=================

<?php

$file = __FILE__;
  echo $file;  //输出该文件所在的完整路径

?>
6.php函数用法:php中的函数分为2类,一类为系统系统,该类函数可以直接使用;另一类为自定义函数。我们重点谈后者

函数的使用须先创建,后调用。只有函数被调用后,才可执行。
  创建函数时,函数名不能与系统内置函数同名、也不能和已有的函数同名。只能包含字母、数字、下划线,并且不能以数字开头。【注意:在函数内部的变量与函数外的变量没有任何联系,因此,可以重名】

定义函数格式:function   functionName($param1,$param2,...){

........;

return  value;

}

调用函数格式:functionName(1,2,...);

当定义函数时,参数有默认值时,如果调用函数时有值传递,则默认值无效。如果调用函数时无参数传弟,则采用默认值。如下所示:

function functionArea3($radius=10){
   $area = $radius*$radius*pi();
   return $area;
  }
  //调用.这样做,大大提高函数灵活性.functionArea2(10)整体得到一个值在内存中,
  echo functionArea3(20);
   echo "<br/>";

带参数,有返回值的函数。尽量将函数封起来,不要修改函数内部的东西,将需要修改的东西暴露在函数体外面。

/**
    * 返回多个值的函数调用:可以通过返回一个数组,然后使用list()函数构造即可
    */
   function functionInfo($name,$age,$job){
    //$userInfo是一个数组
     //$userInfo = array($name,$age,$job);
     $userInfo[]=$name;
     $userInfo[]=$age;
     $userInfo[]=$job;
     return $userInfo;
   }
   //调用。print_r()是输出数组内容的函数
   $arr = functionInfo("张三", 18, "学生");
   print_r($arr);
    echo "<br/>";
    echo $arr[0];//输出数组的第一个元素
    echo "<br/>";
   list($xingming,$nianling,$zhiye) = functionInfo("张三", 18, "学生");
   echo $xingming."今年".$nianling."岁了,他还是一个".$zhiye;

 以上调用,都是按值传参。下面研究函数的引用传参。

<?php
/**
 * 变量名是区分大小写的,所在$Name与$name是两个不同的变量。而函数名是不区分大小写的,那么函数调用也是不区分大小写的
 */
  //按值传参
  $prices = 50;
  $tax = 0.5;
  
  function functionPrices($prices,$tax){
   //记住:按值传参,函数内部的变量与外部的变量没有关系
   $prices = $prices + $prices*$tax;
   $tax = $tax*$tax;
  }
  
  functionPrices($prices, $tax);
  echo $prices;  //50
  echo ‘<br/>‘;
  echo $tax;  //0.5
   echo ‘<br/>‘;
   
  //按引用传参数
    function functionPrices2(&$prices,$tax){
  //记住:引用传参,外部访问到的变量,就是函数内部变量的值
   $prices = $prices + $prices*$tax;
   $tax = $tax*$tax;
  }
  
  functionPrices2($prices, $tax);
  echo $prices;  //75
  echo ‘<br/>‘;
  echo $tax;  //0.5
?>

===============================================================================

/**
   * 全局变量
   * Enter description here ...
   * @var unknown_type
   */
  $a = 5;
  function fa(){
   global $a;  //将$a设置成了全局变量,一般不推荐使用
   $a =10;
   
  }
  fa();
   echo $a; //10
  echo ‘<br/>‘;
  
    $a = 5;
  function fa2(){
   //global $a;
   $a =10;
   
  }
  fa2();
   echo $a; //5
  echo ‘<br/>‘;
  
  /**
   * 使用超级全局变量,其实是一个数组形式
   */
  $GLOBALS[‘a‘]=3;
  function fb(){
   $GLOBALS[‘a‘]=4;
  }
  fb();
  echo $GLOBALS[‘a‘];  //4。因为是数组,所以,可以使用下面的格式输出
  print_r($GLOBALS);//4 与上一句效果一样

===================================================================

创建自己的函数库,通常将函数的集合存放于一个文件中,然后通过文件调用即可。

文件包含:为了确保模块的重用性,最普遍的做法是把功能类似的隔离成单独的文件。在需要用到时,调用该文件即可。PHP提供了4种在应用程序中包含文件的语句。

i:  include()语句将在其被调用的位置处判断并包含一个文件。包含一个文件与在该语句所在的位置复制该文件的数据具有相同的结果。

<?php

include “include.php”;

?>

ii:include_once()函数的作用与include()相同,不过它会首先验证是否已经包含了该文件。如果包含了该文件,则不再执行incluce_once().

<?php

include_once "include.php";

?>

iii: require()在很大程度上与include()相同,都是将一个模板文件包含到require()调用所在的位置。

<?php

require("require.php");

?>

iiii:  require_once()函数的作用与require()作用相同,不过require_once()函数确保文件只包含一次。在遇到require_once()后,后面再试图包含相同的文件时都将被忽略。

<?php

require_once("require.php");

?>

require语句与include()语句几乎是等价的。二者的差异在于,当这两个语句调用失败后,require()将给出一个致命错误,而include()只是给出一个警告。

7.gettype():该函数用来获取变量的类型。返回值:返回string类型。
   settype():该函数用来设置变量的类型。返回值:布尔值
   1代表true,空代表false

isset():判断一个变量是否存在。返回一个布尔值
    unset():销毁一个变量。

empty():检查一个变量的值是否为空。返回值:布尔值

is_integer():判断变量的类型

intval():变量的值的类型转换函数,只是临时转换,并未转换变量引用本身本身,只是将变量的值转换。需要与settype()函数区别开来。floatval()、strval()功能类似

8.表单:

如页面中的表单形式:

<form action="form_post.php" method="post">
 姓名:<input type="text" name="userName" value="123"/>
 <input type="submit" value="提交" />
</form>

/**
    *字符串连接,使用.就可以
    *请看form_post.php
   * 访问表单变量
   * 在php脚本中,可以以php变量的形式访问每一个表单域,其中php变量名称必须与表单的名称一致。
   * 3种方式访问表单数据:
   * $userName、不推荐使用
   * $_POST["userName"]、推荐使用
   * $HTTP_POST_VARS["userName"] 不推荐使用
   */

如何取出表单中传递过来的变量的值:首先看表单中采用的是post方式提交还是get方式提交。

post方式提交时,则取值的方式为:$_POST[‘userName‘];//将上一张表单中name的名称的value值提取出来。userName为表单中的属性name的值

get方式提交时,则取值的方式为:则取值需要用$_GET[‘userName‘]。   userName为表单中的属性name的值

时间: 2024-10-12 19:23:55

php 温故而知新 好久不用 又得继续学习下的相关文章

android学习---下拉刷新组建

Google官方的下拉刷新组建 activity代码实现: /** * The SwipeRefreshLayout should be used whenever the user * can refresh the contents of a view via a vertical swipe gesture. * */public class MainActivity extends Activity implements SwipeRefreshLayout.OnRefreshListe

Python学习—面向对象学习下

面向对象下 1.构造方法与析构方法 class People(object): # 构造方法:__init__(),在实例化对象时自动执行的方法 def __init__(self, name, age): self.name = name self.age = age print("创建对象成功.......") # 析构函数:__del__(), 当你删除对象时,自动调用的方法 # 删除对象:del 对象名 def __del__(self): print("删除对象成功

玩物涨智:妈妈再也不用担心我的学习了

早上逛国外网站的时候看到了一篇挺有意思的文章,描述的是提升人类智力的几种方法.其中包含了为中国父母们所深恶痛绝的电子游戏等方式. 下面对这几种方法做简要的描述如下: 运动有利于物体识别记忆.会释放脑源性神经营养因子(BDNF),BDNF可由大脑自然分泌,能够起到调节痛苦和恐惧的作用,BDNF缺乏会导致创伤后压力紊乱,也就是俗称的恐惧症.BDNF能够使大脑不断重写覆盖痛苦的记忆,并在重写的过程中建立信心和安全感. 玩乐器可以提升认知能力,语言表达能力,和信息处理能力等 玩电子游戏能开发我们的工作记

swith 好久不用都忘记了

switch 语句的格式: switch ( 整型或字符型变量 ) { case 变量可能值1 :   分支一; break; case 变量可能值2 :   分支二; break; case 变量可能值3 :   分支三; break; ... default : 最后分支; } 在 switch 的语法里,我们要学到4个关键字:switch.case .break.default. 在 switch ( 变量 ) 这一行里,变量只能是整型或字符型.程序先读出这个变量的值,然后在各个"case

条款1:尽量用const和inline而不用#define [effective C++ 学习笔记]

这一节主要讲得是,为什么const,inline要比#define好,总结起来如下: 1 如果使用#define,编译器只是会傻乎乎的将define后面的内容替换成定义的变量,拿 const double ASPECT_RATIO = 1.653;举例,如果这样定义后,代码中使用 ASPECT_RATIO 时,在编译代码的时候,会将 ASPECT_RATIO 变量统一替换成1.653这个数字. 看似这样做没什么问题,但是会带来可能的隐患. 隐患一:报错的时候,提示错误的原因会是1.653,这样不

高手的C++学习忠告,虚心学习下~~[转载]

1.把C++当成一门新的语言学习(和C没啥关系!真的.): 2.看<Thinking In C++>,不要看<C++变成死相>: 3.看<The C++ Programming Language>和<Inside The C++ Object Model>,不要因为他们很难而我们自己是初学者所以就不看: 4.不要被VC.BCB.BC.MC.TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言: 5.不要放过任何一个看上去很简单的小编程问题——他们

过完新年继续学习,让我们来学习下如何计算下载文件大小,并且如何post上传文件

今天才初二,昨天是回家这么长时间以来唯一放开了好好玩儿的一天,玩儿的很开心.开心之后又开始继续研究和复习.首先愿新的一年万事如意,心想事成,最主要身体健康 首先,谈谈如何获取下载资源的信息. NSString *url_string = @"http://box.dwstatic.com/skin/Teemo/Teemo_Splash_0.jpg"; NSMutableURLRequest *request =[NSMutableURLRequest requestWithURL:[N

学习下ajax——json的 解析

来自http://www.cnblogs.com/mylove103104/p/4599001.html .感谢其博主. Ajax中解析Json的两种方法详解 eval();  //此方法不推荐 JSON.parse();  //推荐方法 一.两种方法的区别 我们先初始化一个json格式的对象: var jsonDate = '{ "name":"周星驰","age":23 }' var jsonObj = eval( '(' + jsonDat

装个蒜。学习下dispatch queue

dispatch queue的真髓:能串行,能并行,能同步,能异步以及共享同一个线程池. 接口: GCD是基于C语言的APT.虽然最新的系统版本中GCD对象已经转成了Objective-C对象,但API仍保持纯C接口(加了block扩展).这对实现底层接口是好事,GCD提供了出色而简单的接口. Objective-C类名称为MADispatchQueue,包含四个调用方法: 1. 获取全局共享队列的方法.GCD有多个不同优先级的全局队列,出于简单考虑,我们在实现中保留一个. 2. 串行和并行队列