php - 如何从 php 中的字符串中获取所需的位?
问题描述
我有一个转换为二进制字符串的数据帧。我需要从该字符串中提取特定位。有人可以告诉我该怎么做吗?
我有这个二进制字符串并将这个字符串拆分为数组。我能够访问每个位,但无法从中获取块。
$str="11110000111100000001 101010101010 0010 101110111011 ";
print_r(str_split($str));
我想从字符串中以粗体显示特定的位并打印出来。
$var=101010101010;
echo ($var);
$var2=101110111011;
echo ($var2);
这是需要的类型,但无法理解如何从字符串中获取它。
解决方案
你可以使用preg_match
它。这将找到您正在寻找的所有特定块并将它们列出在一个数组中。
$str="11110000111100000001 101010101010 0010 101110111011";
preg_match_all("/(101010101010)|(101110111011)/", $str, $matches);
var_dump($matches[0]); //0th index gives you all the matches
这将为您提供如下结果:
array(2) { [0]=> string(12) "101010101010" [1]=> string(12) "101110111011" }
然后,您可以循环遍历数组并根据需要打印每个值:
foreach ($matches[0] as $match) {
echo $match.PHP_EOL;
}
推荐阅读
- vba - 使用对文本框的更改更新表格
- json - AWS Glue:从具有混合数据的 Datalake(S3) 导入 JSON
- http - VBS 中的 HTTP GET 请求
- sql - 最高价格和总数量的 SQL 汇总
- onem2m - 通过 MQTT 为多个订阅者聚合通知
- java - 如何从 spring 集成消息中获取电子邮件的内容(电子邮件正文和附件)?
- python-3.x - 当我的包是 Python 3.6 时,为什么 conda 要将所有内容降级到 Python 2.7?
- linux - awk 只在 while 循环内打印第一行,除非回显,理论解释
- java - 使用 iText 7 库将文本文件转换为 PDF 的问题
- postgresql - 插入数据时 psql 中的“插入数据超出日期范围”错误