php - PHP中pack函数的a、a、z格式代码有什么区别
问题描述
PHP中函数的格式代码a
, A
, 和Z
格式代码有什么区别?pack('format', ...$args)
测试
我用以下方式测试了所有三个,它们产生了几乎相同的结果:
$s = ' Testing... ';
var_export( pack('a*', $s) === $s ); // true
var_export( pack('A*', $s) === $s ); // true
var_export( pack('Z*', $s) === $s ); // false (because it just adds a "\0" at the end)
// So in case of 'Z*' if I trim the last "\0" it's also the same
var_export( rtrim(pack('Z*', $s), "\0") === $s ); // true
注意:关于Z
我现在只知道它在字符串的末尾附加了一个null character
或"\0"
,但我仍然想知道它是否在做其他事情。
以上对我来说是最令人困惑的部分,但如果有人描述x
, X
,@
以及,我将非常感激。
解决方案
推荐阅读
- c# - 尝试为 MS Word 中的简单 c# 应用程序分配键绑定
- r - 同时创建和编辑多个对象
- python - 执行 Decode() 时打印的附加字母
- visual-studio - MVC 中的数据表编辑器
- java - 如何从他的登录打印用户类型?
- php - 使用 Guzzle 发出带有 GET 参数的 HTTP 请求
- bash - 将所有 *.512.png 移动到新文件夹的脚本
- sql - 当有多个 left_joins 时,查询忽略顺序
- vuepress - 如何将 Vue-donut-chart 库添加到 Vuepress?
- android - 横幅广告未在 Android 模拟器中显示