数字超过255的php chr()
我一直在使用php数字超过255的php chr(),php,Php,我一直在使用phpchr()函数,我的想法是使用一个从一开始的变量打印每个字符,打印ASCII值,然后递增,然后重复此操作。这就是我所做的: <?php $i = 0; while($i<255) { echo chr($i)."\n"; $i++; } ?> 一旦超过255,它将重新开始运行。因此,我想知道,如果超过255,是否有必要让php打印两个字符(例如,当您使用数字300时,它将字符255后跟字符45)。这可能吗?如果是这样,我该怎么做?给你。它是一
chr()
函数,我的想法是使用一个从一开始的变量打印每个字符,打印ASCII值,然后递增,然后重复此操作。这就是我所做的:
<?php
$i = 0;
while($i<255)
{
echo chr($i)."\n";
$i++;
}
?>
一旦超过255,它将重新开始运行。因此,我想知道,如果超过255,是否有必要让php打印两个字符(例如,当您使用数字300时,它将字符255后跟字符45)。这可能吗?如果是这样,我该怎么做?给你。它是一个无限循环,毫无意义,但它应该可以工作
<?php
$i = 0;
$string = '';
do
{
if($i<255) {
echo $string . chr($i)."\n";
$i++;
} else {
$string .= chr(255);
$i = 0;
}
}
while($i<255);
?>
这里是循环的极限:
<?php
$i = 0;
$j = 0;
$limit = 255*4;
$string = '';
do
{
$j++;
if($i<255) {
echo $string . chr($i)."\n";
$i++;
} else {
$string .= chr(255);
$i = 0;
}
}
while($i<255 && $j<$limit);
?>
if ($char < 256) {
echo chr($char);
break;
}
}
为了好玩,这里有一个递归解决方案:
<?php
function char($i, $max = 255) {
if ($i > $max) {
return char($max, $max) . char($i-$max, $max);
}
return chr($i);
}
echo char(365, 66);
echo "\n";
echo char(1365, 122);
echo "\n";
这基本上就是你想要的(但毫无意义): 输入变量。这是一个整数。您想做一些事情直到,因此我们进行
while
循环:
while ($char >= 0) {
当$char
大于或等于零时,有一些事情要做。如果它也低于255,我们将输出它并中断循环:
<?php
$i = 0;
$j = 0;
$limit = 255*4;
$string = '';
do
{
$j++;
if($i<255) {
echo $string . chr($i)."\n";
$i++;
} else {
$string .= chr(255);
$i = 0;
}
}
while($i<255 && $j<$limit);
?>
if ($char < 256) {
echo chr($char);
break;
}
}
总是吗?是的,总是这样。当我们输出它时,我们从值中减去它
$char -= 256;
然后我们再次尝试循环:
<?php
$i = 0;
$j = 0;
$limit = 255*4;
$string = '';
do
{
$j++;
if($i<255) {
echo $string . chr($i)."\n";
$i++;
} else {
$string .= chr(255);
$i = 0;
}
}
while($i<255 && $j<$limit);
?>
if ($char < 256) {
echo chr($char);
break;
}
}
正如你所看到的,这毫无意义:
$char = (int) X;
while ($char >= 0) {
if ($char < 256) {
echo chr($char);
break;
}
echo chr(255);
$char -= 256;
}
$char=(int)X;
而($char>=0){
如果($char<256){
echo-chr($char);
打破
}
echo-chr(255);
$char-=256;
}
如果大于255,它只会在一些模值前面加上
chr(255)
。为了什么?对于chr(255)
前缀?目标不明确。如果你喂它300,你期望得到什么?字符255后接字符45?反过来说?多字节Unicode字符?嘿,如果有人回答了你的问题,请将其标记为beset答案。