php之路

编程入门 行业动态 更新时间:2024-10-20 20:45:29

php<a href=https://www.elefans.com/category/jswz/34/1770107.html style=之路"/>

php之路


php是一种创建动态交互性站点的强有力的服务器端脚本语言 php能够生成动态页面内容,创建、打开、读取、写入、删除以及关闭服务器上的文件 php能够接收表单数据,发送并取回cookies;能够添加、删除、修改数据库中的数据 php能限制用户访问网站中的某些页面,能够对数据进行加密 php不仅能输出HTML,还能输出图像、PDF文件、甚至Flash影片。可以输出任何文本,比如XHTML和XML php能运行于各种平台,且能兼容几乎所有服务器,支持多种数据库,可高效地运行在服务器端 php脚本可放置于文档中的任何位置
可变函数,即通过变量的值来调用函数,因为变量的值是可变的 php的注释 //和#是单行注释 /*  */多行注释
php所有用户定义的函数、类和关键字(例如if、else、echo等等)都对大小写不敏感,不过所有变量都对大小写敏感
变量以$符号开头,其后是变量的名称;变量名称必须以字母或下划线开头,不能以数字开头 变量名称只能包含字母数字字符和下划线(A-z、0-9以及_) 变量会在首次为其赋值时被创建 php有三种不同的变量作用域:local(局部)、global(全局)、static(静态) 全局变量不能在函数中使用,若想使用只能在函数内部变量前使用global关键字
PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量 $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
static 关键词 当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要更进一步的工作。要完成这一点,请在您首次声明变量时使用 static 关键词。然后,每当函数被调用时,这个变量所存储的信息都是函数最后一次被调用时所包含的信息 该变量仍然是函数的局部变量
php输出 echo能够输出一个以上的字符串,而print只能输出一个字符串,并始终返回1 echo比print稍快,因为它不返回任何值 echo和print都是一个语言结构,有无括号均可使用:echo或echo()、print或print() <?php
$txt1="Learn PHP";
$txt2="W3School"; $cars=array("Volvo","BMW","SAAB"); echo $txt1;
echo "<br>";
echo "Study PHP at $txt2";
echo "My car is a {$cars[0]}"; ?>
print $txt1;
print "<br>";
print "Study PHP at $txt2";
print "My car is a {$cars[0]}";

数据类型
字符串 可以是引号内任何文本,可使用单引号或双引号 整数 可用三种格式规定整数:十进制、十六进制或八进制 var_dump() 会返回变量的数据类型和值 数组 $cars=array("Volvo","BMW","SAAB"); var_dump($cars); 对象 对象是存储数据和有关如何处理数据的信息的数据类型。在PHP中必须明确地声明对象 使用class先声明对象的类,在类的实例中使用此数据类型 <?php
class Car
{
  var $color;
  function Car($color="green") {
    $this->color = $color;
  }
  function what_color() {
    return $this->color;
  }
} ?> NULL值 特殊的NULL值表示变量无值。NULL是数据类型NULL唯一可能的值 NULL值标示变量是否为空。也用于区分空字符与空值数据库,也可通过把值设置为NULL将变量清空 <?php
$x="Hello world!";
$x=null;
var_dump($x); ?> 字符串函数 strlen()函数返回字符串的长度,以字符计 strpos()函数用于检索字符串内指定的字符或文本 echo strpos("Hello world!","world");
常量是单个值的标识符。在脚本中无法改变改值 有效的常量名以字符或下划线开头(常量名称前面没有$符号) 常量贯穿整个脚本是自动全局的 定义对大小写敏感的常量 define("GREETING", "Welcome to W3School!"); echo GREETING; 定义对大小写不敏感的常量 define("GREETING", "Welcome to W3School!", true); echo greeting;
串接     .         $txt2 = $txt1."word!" 串接赋值  .=   $txt .= "word!" ===  表示全等,相等并且类型相同 <>  不等于时 返回true !== 不全等时 返回true 逻辑运算符                     and    与 or      或 xor    异或 &&     与 ||           或 !          非 数组运算符                     +          联合 ==        相等 ===     全等 !=       不相等 <>        不相等 !==     不全等
                     php能正常使用if和switch语句
循环 while、do...while、for、foreach foreach循环只适合于数组,并用于遍历数组中的每个键值对 <?php  $colors = array("red","green","blue","yellow");  foreach ($colors as $value) {
  echo "$value <br>";
} ?> 函数 php真正力量来自它的函数:它拥有超过1000个内建函数 除了内建函数,还可以创建自己的函数。函数只有被调用时才会执行
内置函数 用于操作的字符串变量 = str_replace("要替换的字符串","用于替换的字符串",用于操作的字符串变量); 判断函数是否存在   function_exists('func')
创建自定义函数 定义函数声明以function开头 function functionName() {
  被执行的代码; } 函数名能以字母或下划线开头(而非数字),函数名对大小写不敏感 参数 <?php
function familyName($fname,$year) {
  echo "$fname Zhang. Born in $year <br>"; } familyName("Li","1975");
familyName("Hong","1978");
familyName("Tao","1983"); ?> 默认参数值 <?php
function setHeight($minheight=50) {
  echo "The height is : $minheight <br>"; } setHeight(350);
setHeight(); // 将使用默认值 50
setHeight(135);
setHeight(80);
?>
返回值 <?php
function sum($x,$y) {
  $z=$x+$y;
  return $z; } echo "5 + 10 = " . sum(5,10) . "<br>";
echo "7 + 13 = " . sum(7,13) . "<br>";
echo "2 + 4 = " . sum(2,4);
?>
数组 PHP 中, array() 函数用于创建数组 $cars=array("Volvo","BMW","SAAB"); php有三种数组类型:索引数组、关联数组和多维数组 count() 函数用于返回数组的长度(元素数)
遍历索引数组 <?php
$cars=array("Volvo","BMW","SAAB"); $arrlength=count($cars); for($x=0;$x<$arrlength;$x++) {
  echo $cars[$x];
  echo "<br>";
}
?>
关联数组 关联数组是使用您分配给数组的指定键的数组 两种创建关联数组的方法: 一、$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");                                         二、 $age['Peter']="35"; $age['Ben']="37"; $age['Joe']="43"; 随后可以在脚本中使用指定键:          <?php $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); echo "Peter is " . $age['Peter'] . " years old."; ?>
遍历关联数组:                          <?php $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); foreach($age as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "<br>"; } ?>
数组排序       sort() - 以升序对数组排序 rsort() - 以降序对数组排序 asort() - 根据值,以升序对关联数组进行排序 ksort() - 根据键,以升序对关联数组进行排序 arsort() - 根据值,以降序对关联数组进行排序 krsort() - 根据键,以降序对关联数组进行排序 超全局变量         PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们  
多维数组 php能理解2、3、4或5级甚至更多级的多维数组。超过3级的数组对于大多数人难以管理 数组的维度指示您需要选择元素的索引数 $cars = array
  (
  array("Volvo",22,18),
  array("BMW",15,13),
  array("Saab",5,2),
  array("Land Rover",17,15) ); <?php
for ($row = 0; $row < 4; $row++) {
  echo "<p><b>Row number $row</b></p>";
  echo "<ul>";
  for ($col = 0; $col < 3; $col++) {
    echo "<li>".$cars[$row][$col]."</li>";
  }
  echo "</ul>";
} ?> 日期和时间 date()函数用于对日期或时间进行格式化 date()函数把时间戳格式化为更易读的日期和时间
date(format,timestamp)format为必选,规定时间戳的格式;timestamp为可选,规定时间戳,默认是当前时间和日期 <?php
echo "今天是 " . date("Y/m/d") . "<br>";
echo "今天是 " . date("Y.m.d") . "<br>";
echo "今天是 " . date("Y-m-d") . "<br>";
echo "今天是 " . date("l"); ?>
获得时区 <?php
date_default_timezone_set("Asia/Shanghai");
echo "当前时间是 " . date("h:i:sa");
?>

php有构造函数和析构函数 构造函数是在对象创建时候自行调用,析构函数是在对象被销毁时自行调用 function _ _construct(){
} function  _ _destruct(){
} $car = new Car();     //实例化时会调用构造函数      unset($car);           //销毁时会调用析构函数 双下划线
静态关键字 静态属性与方法可以在不实例化类的情况下调用,直接使用 类名::方法名 的方式进行调用。静态属性 不允许 对象使用->操作符调用 class Car { private static $speed = 10;     public static function getSpeed() {
        return self::$speed;
    }
} echo Car::getSpeed();  //调用静态方法 trim去除一个字符串两端空格 rtrim去除一个字符串右部空格,r是right的缩写 ltrum去除一个字符串左部空格,l是left的缩写
获取字符串中中文长度:     mb_strlen($str,"uft-8"); 英文字符截取函数     substr(字符串变量,开始截取的位置,截取个数) 中文字符串截取函数     mb_substr(字符串变量,开始截取的位置,截取个数,网页编码...常用utf-8) 查找字符串函数                    strpos(要处理的字符串,要定位的字符串,定位的起始位置[可选]) 替换字符串函数                    str_replace(要查找的字符串,要替换的字符串,被搜索的字符串,替换进行计数[可选])
格式化字符串     sprintf(格式,要转化的字符串) 字符串合并函数    implode(分隔符[可选],数组)     返回字符串 字符串分割函数    explode(分隔符[可选],数组)     返回数组
字符串转义     addslashes(); 正则表达式是对字符串进行操作的一种逻辑公式,就是用一些特定的字符组合成一个规则字符串,称之为正则匹配模式 $p= '/apple/'; $str= 'apple banna' if(preg_match($p,$str)) 字符串'/apple/'就是一个正则表达式,他用来匹配源字符串中是否存在apple字符串
数据库操作 当前主流的数据库有MsSQL,MySQL,Sybase,Db2,Oracle,PostgreSQL,Access等,这些数据库PHP都能够安装扩展来支持 一般情况下常说的LAMP架构指的是:Linux、Apache、Mysql、PHP,因此Mysql数据库在PHP中的应用非常广泛 if(function_exists('mysql_connect')) 数据库扩展 像Mysql常用的扩展有原生的mysql库,也可以使用增强版的mysqli扩展,还可以使用PDO进行连接与操作
mysql扩展进行数据库连接的方法 $link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');
mysqli扩展 $link = mysqli_connect('mysql_host', 'mysql_user', 'mysql_password');
PDO扩展 $dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
$dbh = new PDO($dsn, $user, $password);
设置当前连接使用的字符编码          mysql_query("set names 'utf8'");
MySQL查询 在数据库建立连接以后就可以进行查询,采用mysql_query加sql语句的形式向数据库发送查询指令 $res = mysql_query('select * from user limit 1'); 对于查询类的语句会返回一个资源句柄(resource),可以通过该资源获取查询结果集中的数据 $row = mysql_fetch_array($res);
var_dump($row);

当存在多个数据库连接时,可通过参数指令从那个连接中进行查询 $link1 = mysql_connect('127.0.0.1', 'code1', '');
$link2 = mysql_connect('127.0.0.1', 'code1', '', true); //开启一个新的连接 $res = mysql_query('select * from user limit 1', $link1); //从第一个连接中查询数据 MySQL插入数据 $sql = "insert into user(name, age, class) values('李四', 18, '高三一班')"; mysql_query($sql); //执行插入语句 若数据是存储在变量中 $name = '李四';
$age = 18;
$class = '高三一班';
$sql = "insert into user(name, age, class) values('$name', '$age', '$class')"; mysql_query($sql); //执行插入语句 执行插入语句后,可以得到自增的主键id,通过PHP的mysql_insert_id函数可以获取该id $uid = mysql_insert_id();
这个id作用很大,可用来判断是否插入成功,或作为关联ID进行其他的数据操作
国产、开源、面向对象、MVC框架 简单易用的MVC模式、查询语言丰富、详尽的文档和中文注释 获取框架:
单一入口框架:在一个网站中,所有请求都是指向一个脚本文件 好处:项目结构规范,控制灵活,更加安全 典型代表:     zend、CodeIgniter、cakephp等








































更多推荐

php之路

本文发布于:2024-03-23 23:53:17,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1744325.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:之路   php

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!