设为首页 收藏本站
查看: 705|回复: 0

[经验分享] PHP基础

[复制链接]

尚未签到

发表于 2015-8-25 12:23:08 | 显示全部楼层 |阅读模式
Hypertext Preprocessor 超文本预处理器的缩写,

PHP标记:
1.<?php  ?>
2.<? ?>
3<script language = "php"> </script>
4<%  %> //asp风格 需修改php.ini配置文件才可以使用
5.<?php  //只有PHP代码时

1.变量声明 变量以美元符 $ 开头,然后是变量名; 变量名由字母或下划线开头,由字母,下划线,数字组成; 变量名区分大小写; php 是弱类型的语言,不需要事先声明变量的数据类型; php可以不用显示的声明变量就直接使用,不过好的编码习惯:所有的变量在使用前应该进行 声明;

引用赋值:
$str1 = "hello";
$str2 = &$str1;

变量的变量:
$val_1 = 'hello';
$$val_1 = 'world';
echo $hello;

$_SERVER 服务器变量;
$_GET   
$_POST
$_REQUEST 该变量记录着通过各种输入方法传递给脚本的变量,如GET POST,但不要用这个超级全局变量,因为它不安全而且速度比较慢;
$_COOKIE            cookie变量组
$_SESSION           会话变量数组
$_FILES             与上传文件有关的变量数组  
$_ENV               环境变量数组
$GLOBALS           所有全局变量数组

1.常量定义:
define("PI",123233);
echo PI;
2.内置常量
PHP_OS           PHP所在的操作系统的名字
PHP_VERSION      当前 PHP 的版本
3.魔术常量
__LINE__ 文件中的当前行号;
__FILE__ 文件的完整路径和文件名; __FUNCTION__ 函数名称;
__CLASS__ 类的名称;
__METHOD__ 类的方法名;

字符串:
单引号不能用变量,
双引号可以用变量,
定界符可以用变量还能换行,

转义字符:
\n 换行         
\r 回车 ( WINDOW \r\n ) (linux \n) (Mac OS \r)           
\t 水平制表符 (按键盘 tab 产生的效果)
\\ 反斜线
\$ 美元符(表示变量的开始)
\" 双引号

以下值被认为是FALSE:
布尔值  FALSE
整型值 0
浮点型值 0.0
空白字符串和字符串 “0”
没有成员变量的数组
没有单元的对象(php4适用)
特殊类型的NULL

数组:
$week = array("mon","tur","wed");

对象:
$db = new db;

资源:$fn = fopen("test.txt","r");

null :
null 无,表示没有值,null不表示空格,也不表示0;以下则认为是null;
没有设置为任何预定义的变量;
明确的赋值为null;
使用函数unset()清除;

定义域:
全局与局部互不影响;
在局部内用global 调用全局变量;

gettype()返回变量的类型;
getttype($str);

is_type()查看变量是否属于某个类型,是返回TRUE ,否返回FALSE;
is_array($arr);

c函数用来得到变量的类型和值的详细信息

默认参数值:
可以为参数指定默认值,在没有提供其他值的情况下,则将默认值自动赋 给该参数;
可选参数 :
可以指定某个参数为可选参数,这些参数需要放在参数列表的末尾,需且要指定其默认值为空; 如果指定了多个可选参数,可以选择性地传递某些参数;

.require() 与 include() 之间的区别 :
无论require()的位置如何,指定文件都将包含到出现require()的脚本中。即使require()放在if语句中,依然会包含指定文件。(php版本4.0.2之前有效)
如果require()包含文件出错时,脚本将停止执行。 而使用include()脚本将继续执行。  
数组
删除数组或数组元素
unset($arr);  //不会重建索引

常用数组函数:
print_r()   //打印数组
count()    //返回数组长度
key()        //返回数组当前指针元素的索引
current()  //返回数组当前指针元素的值
next()      //将数组指针向前移动一位,并返回当前指针元素的值,如果超出了数组元素的末尾,返回false;
prev()      //将数组指针往回移动一位,并返回当前指针元素的值,如果超出了数组元素的末尾,返回false;
reset()      //将指针指向第一元素,并返回该元素的值
end()       //将数组指针指向最后一个元素,并返回该元素的值
each()     //返回数组当前指针元素的键和值,并将指针推进一个位置,如果内部指针越过了数组末端,则each()返回false
list()       //把数组中的值赋给一些变量

遍历关联数组:
foreach($arr as $key =>$value){
echo $key.':'.$value.'<hr>';
}

数组排序:
sort()、rsort()   //对数组进行升序和降序,如果数组为关联数组,不保持其关联关系
ksort()、krsort()对关联数组进行升序和降序,并保持关联关系

二元数组
$result = array( array( 'pname'=> 'nokia n73',  'price'=>  1500, ), array(  'pname'=> 'nokia 5800',   'price'=>  2000, ), );

遍历二维数组: foreach($products as $product_k=>$product_v){ foreach($product_v as $key=>$val){ echo $key.'=>'.$val; } }

explode()   //返回由字符串组成的数组
$arr = explode(',',$str);
implode()  //将数组连接成字符串
$str = implode('|',$arr);
  字符串


输出字符串
echo  // 是一个语法,不是函数,没有返回值,可以输出多个值,使用逗号分隔
echo “hello,$val”;

print    //是一个语言结构
print ("hello $val");
print "hello world";

printf()    //格式化输出字符串;
%b 二进制输出 、%d整数输出、%f浮点数输出、%s字符串输出
printf("整数:%d",$str);

sprintf()    //与printf相同,但不会直接输出结果

查找与替换
strpos()   //以区分大小写的方式找到所找内容第一次出现的位置,如果没有找到则返回false,可以指定开始查找的位置
echo strpos("hello wolrd","wo");
stripos()   //与sprpos()一样,只是不区分大小写

str_replace()   //区分大小写,替换所有找到的内容,可指定替换个数
$str = "test@163.com";   
$email = str_replace("@", "(at)", $str);  
echo $email;
str_ireplace()     //不区分大小写

截取字符串:
substr()   //从开始位置取出length长度的字符,字符串位置开始值为0;如果没有指定长度,那么默认一直到末尾
echo substr("hello world",6,5);

strstr()   //搜索一个字符串在另一字符串中第一次出现的位置,返回从匹配点开始后的所有,没找到返回false
echo strstr("hello world","world");
stristr()   //不区分大小写

删除字符串;
ltrim()  //删除字符串左侧空格或者其他预定义字符;如果没有设置charlist,则删除一下字符:"\o" NULL "\t"     制表符 "\n"     换行 "\xoB"   垂直制表符 "\r"     回车 " "      空格
echo ltrim($str);

rtrim() 上同,删除右边

trim()上同,删除两侧

其他字符串处理:
strlen()   //获取字符串长度
strlen($pass)

strtolower()   //将字符串转换为小写字母
strtoupper()   //将字符串转换为大写字母

strrev()   //反转字符串

nl2br()   //将字符中换行(\n)转换成HTML换行标签(<br/>)

strip_tags()  //删除字符串中HTML XML PHP 标签,可指定保留标签

htmlspecialchars()  //把一些预定义的字符转换为HTML实体
预定义的字符是:
& (和号)   成为  &amp;
" (双引号) 成为  &quot;
  ' (单引号) 成为  &#039;
  < (小于)   成为  &lt;
> (大于)   成为  &gt;


header("Content-type: text/html; charset=utf-8");//放在最前面
mysql_query("set names utf8");

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-104018-1-1.html 上篇帖子: PHP 中dirname(_file_) 下篇帖子: PHP 随笔
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表