PHP基础语法讲解
2016-04-04 23:28
621 查看
Css 隐藏 有区分站位隐藏和非站位隐藏 Visible是站位隐藏 Apache 配置文件 默认是80端口 也可以修改成其他的端口 比如8080 在httpd.ini 配置文件 listend 80 Httpd配置文件介绍 <IfModule dir_module> DirectoryIndex index.html index.php index.htm l.php </IfModule> 表示默认 自动识别, 从左到右 一般需要编译的语言是强类型的语言 Php是弱类型语言, 不需要提前声明,只需要php解析器解析就可以 Php基础 Php输出有这个几种 echo var_dump print_r 在utf8下 一个中文:3个字符 在gbk下一个中文2个字符 <?php $arrayName = array('zhangsan','lisi','王虎' ); echo "<pre>"; print_r($arrayName); echo "</pre>"; ?> 会原样输出结果 Array ( [0] => zhangsan [1] => lisi [2] => 王虎 ) Php变量: 1.普通变量 2.可变变量 3.变量引用 引用是内存的堆和栈 可变变量 <?php $name="zhangsan"; $$name="小红"; // 可变变量 表示上面的$name又是一个变量 echo $name; //输出还是zhangsan echo $$name; //输出是小红 echo $zhangsan; //输出小红 表示将zhangsna当做变量 ?> 变量引用 $a=10; $b=&$a; //将$a内存地址复制给$b $b=20; echo $a; echo $b; // 输出结果都是20 Php8种变量数据类型 1.整形 2.浮点型 3.字符型 4.布尔 5.数组 6.对象 7.资源 8.Null类型 False var_dump 和echo printf_r 都是空 字符串连接是.表示 类对象 Class Perple{ Public function say(){ Echo “say”; } } Open mysql_connect 都是一种资源 Empty 和isset都是判断空类型 但是有区别 空类型 1. 0 2.“” 3. “0” 4. Flase 5. array() 6. Null 7. 没有定义 类型测试 判断数组 Is_int,is_float,is_string is_bool 这四种统称为标量 is_object, Is_array , 复合类型 is_resouce,is_null, 特殊类型 Is__file Is_scalar 是否标量 Is_numeric Is_callable 测试是否为函数 Echo,print,array,list 不是函数,是语言结构 ... ... 类型自动转换 主要是标量 Int 转float int转string 或者float 转int,或者string转bool $a=10; Echo (bool)$a; Unset :删除变量 php中的单双引号 尽量使用单引号 常量的定义和使用 常量一但被赋值,不可以被修改 Define() Php 连接mysql 在test这张数据库中 无需密码 可以直接连接查询 Php预定义常量 __FILE__ __FUNCTION__ __FILE__ //系统的绝对路径 PHP_OS M_PI PHP_VERSION __CLASS__ __METHOD__ @屏蔽错误 , 数组运算符=> 对象运算符-> === 可以检测类型 条件类型 If else ifelse Switch case While dowhile For foreach List each $a=array("zhangsan"=>"haha","wanghu"=>"123"); while (list($key,$val)=each($a)) { echo $key."---".$val."<br/>"; } 数组多维 尽量不要超过三次 $arr2 = array("zhangsan","haha" , array("1","2"), array("xiaoming3"), "xiaomi4" ); foreach ($arr2 as $key) { if(is_array($key)){ foreach ($key as $key2) { echo $key2."<br/>"; } }else{ echo $key."<br/>"; } } 超全局数组 1.$_SERVER 2.$_GET 3.$_POST 4.$_REQUEST 5.$_FILES 6.$_COOKIES 7.$_SESSION 8.$GLOBALS $_SERVER[‘remote_port’] 1024~65535 随机 $_SERVER[‘DOCUMENT_ROOT’] 服务端地址 $_SERVER[‘REMOTE_ADDR’] //远端地址 $_SERVER[‘REQUEST_STRING’] 请求字符串 $_SERVER[‘PHP_SELF’] 本地地址 $_SERVER[‘REQUEST_TIME’] 时间戳 1970-1-1 0:0:0 开始 Magic_quotes_gpc 默认是打开 提交数据会默认增加反斜线 Addslashes 增加反斜线 Stripslashes 删除反斜杠 Session_start(); $_SESSION(“name”,”admin”); 其他页面 Session_start(); 页面之前不能有输出,但是header之前不能有输出 Echo $_SESSION[‘name’] 取值 File上传文件: Form 表单 enctype=”multipart/form-data” 文件编码 设置变量为超全局变量 $GLOBALS[‘NAME]=”ZHANGSAN”; $GLOBALS[_SERVER]; 数组函数 字符串函数 Array_keys() Array_values() In_array() Array_flip() 交换数组键和值 Array_reverse() Count() Array_count_values() 统计值 统计数组中相同值出现的次数 $arr[$value]++; array_unque() 删除数组中相同的值 数组排序和过滤 Array_filter() 过滤出来哪些 Array_map() 映射值 Array_filter() 使用 // 过滤及格同学 $arr=array("zhangsan"=>50,"li"=>70,"xiaoming"=>50,"mingming"=>60); function jige($val){ if($val>=60){ return $val; }else{ return false; } } $arr2=array_filter($arr,"jige"); var_dump($arr2); 回调函数: $arr=array("zhangsan"=>50,"li"=>70,"xiaoming"=>50,"mingming"=>60); function jige($val){ if($val>=60){ return $val; }else{ return false; } } $arr2=array_filter($arr,"jige"); //jike就是回调函数 var_dump($arr2); 递归 function test($test){ static $num; if($test>=1){ $num+=$test; test(--$test); } else{ return $num; } } echo test(3); 数组的合并,拆分,分解和结合 implode() ,join() 合并 explode() 拆分 array_slice($arr,0,3) //返回截取结果 array_splice($arr,0,3,$arr2) //返回截取结果,替换 array_merge($arr1,$arr2); //合并数组 array_combine($a,$b) //合并数组 array_diff($a,$b); //交集 array_intersect() /差集 array_pop(); //弹出最后一个 array_push() //添加一个 array_shift(); //删除第一个 array_unshift(); //在数组最前面添加一个 array_rand() //随机的key shuffle($arr); //随机打乱数组 range(0,9); range(A,Z); range(a,z); array_sum($aa); array_flip($arr); //数值key value对调 格式化输出 $num=10; print_r("test--%d",$num); sprintf("test--%d",$num); echo "asdastest阿斯顿111","111","2222"; echo "<br/>"; // 这样输出是不允许 print "asdasd","111sadasd"; 常用字符串格式化 Trim去除空格 $test=" 111 "; echo strlen(ltrim($test)); echo strlen(rtrim($test)); echo strlen(trim($test)); Strlen获取字符串长度 str_pad($str,10,"-",STR_PAD_BOTH) ; str_pad($str,4,"-",STR_PAD_LEFT) ; str_pad($str,6,"-",STR_PAD_RIGHT) ; 字符串重复 应用场景 菜单 $a="123"; echo str_repeat($a,4); 字符串大小写 strtoupper($a); strtolower($a); $a="abc bcd"; echo ucfirst($a); //字符串首字 echo "<br/>"; echo ucwords($a); //每个字符串首字大写 echo strrev($a); 货币转换number_format echo number_format("5000000")."<br>"; echo number_format("5000000",2)."<br>"; echo number_format("5000000",2,",","."); 输出结果 5,000,000 5,000,000.00 5.000.000,00 echo str_shuffle($a) html标签的字符串函数 echo nl2br("111\n222"); //换行 echo htmlspecialchars("'11''<>\\"); 转实体 echo "<br/>"; echo ("'11'\'\<\>\\"); 输出结果 '11''<>\ '11'\'\<\>\ Php默认添加了 addslashes() 转移字符 去除\ stripslashes() echo strip_tags("<h1 class='h1demo' style='background:blue'><div class='test' style='color:red'>test1</div></h1>","<div>"); //去指定标签 输出结果:test1 字符串比较 echo strcmp($atr, $atr2); echo ord("a"); //转ascii chr("65"); //ascii转字符 // 什么是自然 12>3 $a="a123"; $b="a3"; strnatcmp($str, $ste2) //自然比较 $a>$b 截取字符串 echo substr($a,0,4); Mb_substr 字符串截取处理 $str="中国字符串截取的测试数据"; echo mb_substr($str,0,4,"utf-8"); echo mb_substr($str,0,4,"gbk"); Strpos,strrchr strstr函数 strpos("http:www/baoud.com/index.php/a/1","/"); 默认获取第一个/位置 // 返回字符串 $url="http:www/baoud.com/index.php/a/1"; echo strstr($url, "/") //从前往后 输出 /baoud.com/index.php/a/1 strrchr($url, "/") //从后往前 str_replace 强大替换 $str="http://www.baidu.com/test"; $a=array("http","www","baidu"); $b=array("test","test2","test3"); echo str_replace($a,$b,$str); ------------------
未完待续,明天更新
相关文章推荐
- 将中文字符串分割为数组 解决str_split中文乱码php
- 将中文字符串分割为数组 解决str_split中文乱码php
- 将中文字符串分割为数组 解决str_split中文乱码php
- PHP的PSR规范中文版
- 生成多个不重复的随机数字php
- 生成多个不重复的随机数字php
- 生成多个不重复的随机数字php
- Thinkphp设置仅在调试模式关闭时显示404页面
- Thinkphp设置仅在调试模式关闭时显示404页面
- Thinkphp设置仅在调试模式关闭时显示404页面
- php多维数组自定义排序 uasort()
- php多维数组自定义排序 uasort()
- php多维数组自定义排序 uasort()
- PHP之目录
- PHP语言 -- 面向对象
- [经验]你想不到的PhpExcel导不出文件的原因
- php页面静态化
- ecshop:Warning: strpos(): Empty delimiter in E:\WebRoot\...\includes\lib_main.php on line1995
- php核心知识纲要总结以及学习路线
- PHP数据库操作:使用ORM