首页 > 解决方案 > 如何根据动态值移动二进制字符串 - PHP

问题描述

我有一个 0 和 1 形式的 336 二进制字符串。我从一个变量中得到一个值。假设字符串是 010101010001111,变量值为 3,那么我想要一个这样的字符串:111010101010001。

是否可以?如何在 PHP 中完成?

任何帮助将不胜感激。

标签: phpbinary

解决方案


你可以这样试试

$num = "010101010001111";
$shiftCount = 3;
$valueToReplace = 1;
echo substr(str_pad($num, strlen($num)+$shiftCount,$valueToReplace,STR_PAD_LEFT),0,-$shiftCount);

str_pad — 用另一个字符串填充一个字符串到一定长度
substr — 返回字符串的一部分
strlen — 获取字符串长度

pad_type

可选参数 pad_type 可以是STR_PAD_RIGHTSTR_PAD_LEFTSTR_PAD_BOTH。如果未指定 pad_type,则假定为 STR_PAD_RIGHT

演示


推荐阅读