您的位置:首页 > 编程语言 > PHP开发

PHP学习笔记11(字符串函数)

2017-12-30 21:46 369 查看

(1)字符串定界符

单双引号

<?php

//单引号(不会解析变量)
$a = 'Hello';

//双引号(会解析变量)
$b = "Hello";


Heredoc(会解析变量)

//Heredoc
$username = 'tom';
$c = <<<GOD
Hello <br/>
{$username}
GOD;
echo $c;


Nowdoc(不解析变量)

<?php

$username = 'tom';
$str = <<<'EOD'
hello king<br/>
{$username}
EOD;
echo $str;


{}使用

//{}
echo "我的名字$a";//正常
echo "我的名字$as";//解析失败
echo "我的名字{$a}s";//我的名字Hellos

$str = 'abcdef';
echo $str{1};
$str{0} = 'hello';//只能替换一个字符
echo $str;
$str{1}='';//删除,只是看不到,长度还在
echo $str;
$str{6}='e';//添加
echo $str;


(2)其他类型转换成字符串

自动转换

<?php

//数组-》字符串
echo 123;
echo "<br/>";

//布尔-》字符串
echo 'A',false,'B';//false输出为null
echo "<br/>";
echo 'A',null,'B';
echo "<br/>";
echo 'A',true,'B';//true输出为1
echo "<br/>";

//数组不能直接转换成字符串
$arr = array(12,3,4);
echo $arr;//报错 Notice: Array to string conversion

//对象不能自动转换成字符串
class Person{
public $name;
}
echo new Person();//Catchable fatal error: Object of class Person could not be converted to string


强制类型转换

<?php

/**
* 临时转换类型
*/

//数值强转字符串
$var=123;
$res =(string)$var;
var_dump($res);//string
var_dump($var);//int

//对象不能强转为字符串
class Person{
public $name;
}
$p = new Person();
echo (string)$p;//Catchable fatal error: Object of class Person could not be converted to string

/**
* 永久转换类型
*/
$str = 123;
echo gettype($str);//integer
settype($str,'string');
echo gettype($str);//string


(3)字符串转换成其他类型

<?php

// 字符串转换成数值
// 去合法数字,如果不是转换成0
echo 1+'3king';//4

echo 1.2+'4gff';//5.2

echo 3+'2e2';//203

echo 2+ 'true';//2

echo 2+ 'false';//2

// 字符串转换成布尔值
$b = '';//假
$b = ' ';//真
$b = null;//假
$b = '0';//假
$b = '0.0';//真
if($b){
echo
4000
'真';
}else{
echo '假';
}


(4)字符串函数库

字符串属性

$str = 'hello World a child';

//检测是否是字符串
var_dump(is_string($str));//true
//字符串长度
echo strlen($str)."<br/>";
//判断是否为空
echo empty($str);


大小写切换

<?php
$str = 'hello World a child';

//小写转换全部
echo strtolower($str)."<br/>";
//大写转换全部
echo strtoupper($str)."<br/>";
//第一个字母大写
echo ucfirst($str)."<br/>";
//每个单词的首字母大写
echo ucwords($str)."<br/>";


ASCII码相关

$a = 'a';
//得到指定字符的ASCII
echo ord($a);
//根据ASCII返回指定字符
echo chr(97);


截取substr()

//string substr ( string $string , int $start [, int $length ] )

$rest = substr("abcdef", -1); // returns "f"
$rest = substr("abcdef", -2); // returns "ef"
$rest = substr("abcdef", -3, 1); // returns "d"

$rest = substr("abcdef", 0, -1); // returns "abcde"
$rest = substr("abcdef", 2, -1); // returns "cde"
$rest = substr("abcdef", 4, -4); // returns false
$rest = substr("abcdef", -3, -1); // returns "de"


strcmp() strcasecmp

// int strcmp ( string $str1 , string $str2 )
// Returns < 0 if str1 is less than str2;
// > 0 if str1 is greater than str2,
// and 0 if they are equal.
//比较字符串大小,区分大小写
echo strcmp('A','a');//-1
//比较字符串大小,不区分大小写
echo strcasecmp('A','a');//0


strpos()字符串首次出现的位置(区分大小写)

stripos()不区分大小写

strrpos()字符串最后出现的位置(区分大小写)

strripos不区分大小写

//mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
//mixed stripos ( string $haystack , mixed $needle [, int $offset = 0 ] )
如果不存在返回fasle


拆分

//array explode ( string $delimiter , string $string [, int $limit ] )
<?php
$s = 'abc1efd1dfd1';
var_dump(explode('1',$s,2));
//    array (size=2)
//        0 => string 'abc' (length=3)
//        1 => string 'efd1dfd1' (length=8)


加密

echo md5("king");//输出32位加密字符串
echo sha1('king');//输出40位加密字符串
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php 函数 字符串