<?php
/*
* 字符串的创建方法
* 双引号:能够将变量解析
* 单引号:不能解析变量
* 定界符:
* 字符串在解析变量时,会尽可能多的将$后的字符串作为变量
* 为解决以上问题,可以用个大括号将变量包括起来
*/
// $a = "xxx";
// $str = 'hello world $a';
// echo $str;//hello world $a
//$a = "xxx";
//$str = "hello world $a";
//echo $str;//hello world xxx
//$a = "xxx";
//$str = "hello world $abbbbbb";
//echo $str;//$abbbbbb未定义
//$a = "xxx";
//$str = "hello world {$a}bbbbbb";
//echo $str;//hello world xxxbbbbbb
/*
* 定界符以<<<开头,后面紧跟一个开始标识符,默认也需要一个结束标识符
* 定界符的优点:能解析变量,并输出大幅度的字符串
* 注意:开始标识符和结束标识符必须保持一样,需要大写,如:EOF
* 注意:开始标识符结尾不能有任何字符,如空格等
* 结束标识符的前面和后面也不能有任何字符,如空格
*/
// $hello = "world";
// $a = "hello";
//
//$str = <<<EOF
//<h1>静安寺达到期望地区无爱</h1>
//<p>辣椒水跨境电商{$hello}就是打开</p>
//<span>{$$a}</span>
//EOF;
//echo $str;
//查找:strops(字符串,目标字符),区分大小写的查找目标字符串第一次在字符串的下标,如果查不到就返回false
//$str = "hello world";
echo strpos($str,"o");//4
//echo strpos($str,"O");//false
//查找:strops(字符串,目标字符),不区分大小写的查找目标字符串第一次在字符串的下标,如果查不到就返回false
//$str = "hello world";
//echo stripos($str,"o");//4
//echo stripos($str,"O");//4
//替换:str_replace(要替换的目标字符,用来取代目标的字符,字符串):区分大小写的替换字符串某个字符
//$str = "hello wolrd";
//echo str_replace("l", "@", $str);
//echo str_replace("L", "@", $str);
//替换:str_replace(要替换的目标字符,用来取代目标的字符,字符串):不区分大小写的替换字符串某个字符
//$str = "hello wolrd";
//echo str_ireplace("l", "@", $str);
//echo str_ireplace("L", "@", $str);
//截取:substr(字符串,开始截取的位置,截取的长度)
//注意:第三个是可选参数,如果不加,默认读取剩余的所有的长度
//$str = "hello world";
//echo substr($str, 4); //o world
//echo substr($str, 4,5);//o wor
//截取:strstr(字符串,目标字符串):从目标字符串在字符串在字符串中第一次出现的位置开始截取,一直到末尾
//$str = "hello world";
//echo strstr($str, "lo"); //lo world
//echo strstr($str, "Lo");//空的
//echo stristr($str, "Lo");//lo world
//$str = " hello world ";
//ltrim(字符串):删除字符串左侧的空格
//echo "(".ltrim($str).")";
//rtrim(字符串):删除字符串右侧的空格
//echo "(".rtrim($str).")";
//trim(字符串):删除字符串左右两侧的空格
//echo "(".trim($str).")";
//strlen(字符串):获取字符串的长度
//$str = "hello world";
//echo strlen($str);
//
//$str = "hello world";
//echo strtoupper($str);//转大写
//echo strtolower($str);//转小写
//strrev(字符串):反转字符串
//echo strrev($str);//dlrow olleh
//nl2br(字符串):将字符串中的换行符变成<br/>
//$str = <<<EOF
//aaaaaa
//bbbbbbb
//EOF;
echo $str;
//echo nl2br($str);
//strip_tags删除字符串标签(h1);
//$str = "<h1>http://www.baidu.com</h1>";
//echo strip_tags($str);
//htmlspecialchars($string) 能显示源码
$str = "<h1>看来都是打电话</h1>";
echo htmlspecialchars($str);
?>
json字符串
<?php
/*
* 前后台的数据交互的数据交换格式:
* JSON 和XML。推荐JSON
* JSON:形似对象,键值上需要带双引号
*注意:在数据传输时,数据以字符串进行存在
* 1、在php里书写JSON字符串
* 2、在js里面将JSON字符串转成对象
*/
/*
* JSON字符串
* 1、成对出现的大括号
* 2、键值对组成,键值对之间用","号分割,键和值之间用":"号映射
* 3、键值对的键外面要包裹上双引号
*/
//在php里书写一个json字符串,名字时张三,年龄18,爱好为听歌,打游戏
// $jsonStr = '{"name":"张三","age":18,"hobby":["打游戏","听歌"]}';
//将上面的JSON字符串改成外面用双引号
$jsonStr = "{\"name\":\"张三\",\"age\":18,\"hobby\":[\"打游戏\",\"听歌\"]}";
//php中关联数组与JSON字符串的相互转换
/*
* json_encode(关联数组或对象) :将关联数组转成JSON字符串
* json_decode(JSON字符串):默认将JSON字符串转成对象,第二个参数为true,将JSON字符串转成数组
*/
$res = json_decode($jsonStr,true);
// echo "<pre>";
// print_r($res);
// echo "</pre>";
// //echo $res -> name;
// echo $res["name"];
$str = json_encode($res);
echo $str;
?>
<script type="text/javascript">
var jsonStr = '<?php echo $jsonStr ?>';
console.log(JSON.parse(jsonStr));
// var jsonObj = {
// "name": "张三",
// "age": 18,
// "sex": "男"
// }
//console.log(jsonObj);
//
// var jsonStr = JSON.stringify(jsonObj);
// console.log(jsonStr);
// var obj = JSON.parse(jsonStr);
// console.log(obj);
</script>