PHP课程笔记11
来源:互联网 发布:传世db数据库编辑器 编辑:程序博客网 时间:2024/04/29 12:48
课时183 PHP定义子命名空间
<?php
/*
* 命名空间
*
* 1.常量
* 2.函数
* 3.类
*
* namespace来声明命名空间
* 注意: 1.在namespace声明空间的代码上面不能有任何php代码和HTML的内容输出,声明命名空间只能是第一条,除了(declare).
* 2.定义多个名字空间以最后一个为主
* 3.可以在同一个文件里命名多个空间,但是代码也必须在它下面. 然后再定义新的命名空间. 但非常不提倡.
*/
namespace pro;
const AAA = 1;
class Demo{
static function one(){
echo "1111<br>";
}
}
function test(){
echo "2222<br>";
}
test();
\pro\test();
echo \pro\AAA."<br>";
\pro\Demo::one();
namespace deo{
const BBB = 5;
echo \deo\BBB."<br>";
}
?>
课时184 PHP在同一文件中定义多个命名空间
课时185 PHP命名空间和动态语言特征
echo __NAMESPACE__; //魔术方法,可以直接输出命名空间名称
课时186 PHP使用命名空间:别名/导入
*可以使用use关键字为namespace起别名 use pro as p;
课时188 字符串的处理方式1
<?php
/*
*
* 字符串的声明(数据类型)
* 1.可以使用双引号,也可以使用单引号
* 双引号可以解析变量,双引号中可以使用所有转义字符
* 2.<<<
*
* 分割, 匹配, 查找, 替换
*
* 特点:如果是其他类型的数据,也可以使用字符串处理函数. 先将其他类型自动转换成了字符串后再处理
*
* 字符串可以像数组一样,通过下标来访问到每个字符,但不是数组(数组也可以通过{}下标来访问成员)
*
* 字符串除了有英文字符,还有中文.uft-8中中文每个字符占3个字节.
*/
echo count(" "); //结果会输出1. 不论里面有没有,用计算数组的count计算字符串都是输出1
echo "<br>";
echo strlen("hello");
echo "<br>";
echo strlen(105000);
echo "<br>";
$str = "world";
echo $str[0].$str[1]."<br>";
echo $str{2}.$str{3}."<br>"; //建议使用大括号来查找字符串的成员
?>
结果:
1
5
6
wo
rl
课时189 字符串的处理方式2
$str = "hello<br>";
$str{2} = "2w";
echo $str;
$arr = array("one"=>100);
echo "aaaaaaa{$arr["one"]}aaaaaaaa<br>"; //这种方式最好
echo "bbbbbbb $arr[one] bbbbbbb<br>"; //双引号中可以识别数组
结果:
he2lo
aaaaaaa100aaaaaaaa
bbbbbbb 100 bbbbbbb
课时190 常用的字符串输出函数1
<?php
$str = "hello world";
$han = "文字比较麻烦";
echo substr($str,0,4);
echo "<br>";
echo mb_substr($han,0,10)."<br>"; //处理汉字时比较好用,但用的少,尽量不使用
//echo 和 print的区别
echo "aaaaa<br>";
echo ("bbbbb<br>");
print "ccccc<br>";
var_dump(print ("ddddd<br>")); //print有返回值
echo "aaaa,","bbbb,","ccccc"."<br>"; //echo的指令模式可以打印多个参数,print不可以
//print "1111,","22222";
//die(); exit();输出并退出
exit("eeeeeeee");
die("sssssssss"); //二者基本没太大区别
结果:
hell
文字比较麻
aaaaa
bbbbb
ccccc
dddddint 1
aaaa,bbbb,ccccc
eeeeeeee
课时191 常用的字符串输出函数2
//printf格式化输出
$int = 100;
printf("%d, %c",$int,$int);
//echo chr($int);
//sprintf格式化返回
$int = 99;
$str = sprintf("%d, %c",$int,$int);
echo $str;
结果:
100, d
99, c
课时192 去除空格和字符串填补及大小写转换函数
<?php
/*
* 字符串格式化
*/
$str = "lamp";
//str_pad
echo $str."----".strlen($str)."<br>";
$nstr = str_pad($str,10,"#");
echo $nstr."----".strlen($nstr)."<br>";
//strtolower,strtoupper,ucfirst,ucwords
$s = "this is a test";
echo strtolower($s)."<br>";
echo strtoupper($s)."<br>";
echo ucfirst($s)."<br>";
echo ucwords($s)."<br>";
?>
结果:
lamp----4
lamp######----10
this is a test
THIS IS A TEST
This is a test
This Is A Test
课时193 和HTML标签相关的字符串格式化函数
课时196 字符串面试题1
<?php
//不用PHP函数,自己写一个字符串翻转函数
$str = "www.baidu.com";
echo $str."<br>";
function fanzhuan($str){
$len = strlen($str)-1;
$trs = "";
for($i=$len; $i>=0; $i--){
$trs .= $str[$i];
}
return $trs;
}
echo fanzhuan($str);
echo "<hr>";
//自定义format函数
$str2 = "123456789";
echo number_format($str2);
echo "<br>";
function nformat($str){
$n = "";
$m = strlen($str);
/* for($i=$m; $i>=0; $i--){
if($i%3==0 && $i != 0){
$n .= $str{$i}.",";
}else{
$n .= $str{$i};
}
}
*/
$k = $m % 3;
for($i=0;$i<$m;$i++){
if($i != 0 && $i%3 == $k){
$n .= ",";
}
$n .= $str{$i};
}
return $n;
}
echo nformat($str2);
?>
结果:
www.baidu.com
moc.udiab.www123,456,789
123,456,789
课时197 字符串面试题2
//获取文件扩展名的函数
$url = "www.baidu.com/xxx/seirji/index.class.asp?user=fff&ei=13";
$url2 = "index.class.jsp?user=fff&ei=13";
$url3 = "www.baidu.com/xxx/seirji/index.class.php";
$url4 = ".php?user=fff&ei=13";
function extname($url){
if(strstr($url,"?")){
//1.如果有问号格式的文件,将问号前的文件取出给变量file
list($file) = explode("?",$url);
}else{
$file = $url;
}
//2.取出文件名
$loc = strrpos($file,"/")+1;
$filename = substr($file,$loc);
//3.取扩展名
//$loc2 = strrpos($filename,".")+1;
//$ex = substr($filename,$loc2);
//echo $ex;
$arr = explode(".",$filename);
return array_pop($arr);
}
echo extname($url)."<br>";
echo extname($url2)."<br>";
echo extname($url3)."<br>";
echo extname($url4)."<br>";
结果:
asp
jsp
php
php
课时198 字符串面试题3
//计算两个文件的相对路径,从一个文件怎么到另一个文件
//1.将公共目录去除
//2.返回同级目录,并进入另一个目录
function abspath($a,$b){
$path = "";
//1去除公共目录结构
$a = dirname($a);
$b = dirname($b);
$a = trim($a,"/");
$b = trim($b,"/");
$a = explode("/",$a);
$b = explode("/",$b);
$num = max(count($a),count($b));
for($i=0;$i<$num;$i++){
if($a[$i]==$b[$i]){
unset($a[$i]);
unset($b[$i]);
}else{
break;
}
}
//回到同级目录,进入另一个目录
$path = str_repeat("../",count($b)).implode("/",$a);
return $path;
}
$a = "a/b/c/d/e.php";
$b = "a/b/12/34/c.php";
echo abspath($a,$b);
结果:
../../c/d
- PHP课程笔记11
- PHP课程笔记11
- PHP课程笔记1
- PHP课程笔记12
- PHP课程笔记13
- PHP课程笔记14
- PHP课程笔记15
- PHP课程笔记10
- PHP课程-Php环境学习笔记
- PHP课程-Php基础学习1笔记
- PHP课程-HTML基础学习笔记
- 课程笔记
- 课程笔记
- Oracle DBA课程系列笔记(11)
- php视频课程
- php语言课程
- PHP课程总结20161213
- 燕十八php公益课程---面向对象课堂笔记(一)
- PHP课程笔记15
- jvm
- C++ string大小写转换
- PHP课程笔记10
- Condor and Pegasus on ubuntu14.04
- PHP课程笔记11
- JVM学习笔记
- 加背景出现 java.lang.NoSuchMethodError:setBackground()
- fedora cloud image的使用
- svn 莲花软件
- solr中solrconfig.xml详解
- Laravel学习笔记一
- Linux CPU 上下文切换
- android ndk 开发