PHP字符串

底层C语言中怎么表示PHP字符串?

struct{
    char *val;l
    int len;
}str;


1)字节组成的数组可以用[]访问某个字符
2)字符串长度可以达到2G(内存)
3)常见函数都是单字节处理方式
4)PHP字符串是二进制安全的                            二进制安全大佬详解

          简单说明: 在C语言中,字符串的结尾的标志是 '\0'       而在PHP中会计算字符串长度,不是以'\0'结尾

5)用超出字符串长度的下标写入将会拉长该字符串并以空格填充

 

常用字符串函数:

字符串"串行化",大部分php值可以转变成string来永久保存

1)serialize()函数序列化对象或数组,存储或传递 PHP 的值,同时不丢失其类型和结构。    返回:string

2)unserialize()函数:反序列化对象或数组                                                                                  返回:混合类型

实例

<?php
class User{
	public $name = '';
	public $age = 0;
	public function PrintData(){
		echo 'User '.$this->name.'is '.$this->age.' years old';
	}
}
$user = new User();
$user->name = 'John';
$user->age = 20;
$exp = serialize($user);
// O:4:"User":2:{s:4:"name";s:4:"John";s:3:"age";i:20;}
echo $exp.PHP_EOL;

$user1 = unserialize($exp);
print_r($user1);
//User Object
//(
//    [name] => John
//    [age] => 20
//)

3)json_encode() 函数: 将数组转换为字符串                                                                  返回:string

4)json_decode() 函数: 将字符串转换为数组或对象                                                       返回:混合

<?php
	$a = [
		'a' => 'apple',
		'b' => 'sun',
		'c' => 'moon'
	];
	$s = json_encode($a);
	echo $s.PHP_EOL;
	print_r(json_decode($s, true));
// {"a":"apple","b":"sun","c":"moon"}
// Array
// (
//     [a] => apple
//     [b] => sun
//     [c] => moon
// )

5)var_export() 函数:输出或返回一个变量的字符串                                                       返回:合法PHP代码

<?php
	$a = array(1, 2, array("jil", "gsji", "gmsm"));
	$k = var_export($a, true);
	echo $k;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值