我不知道未定义的偏移151意味着什么,但我确实知道它与我正在使用的翻转ascii值的过程有一个紧密的契合。这是它不喜欢的代码:
$secondb = $array1[$i2] / 10;
$firstb = $array1[$i2] % 10;
它在“for”循环中出现了错误:
for($i2 = 0; $i2 < $amt1; $i2++);
{
$secondb = $array1[$i2] / 10;
$firstb = $array1[$i2] % 10;
$firstb = $firstb * 10;
$array1[$i2] = $firstb + $secondb;
}
更多代码:
function decoding($inputs)
{
$inputs = base64_decode($inputs);
$amt1 = strlen($inputs);
$array1 = str_split($inputs);
for($i2 = 0; $i2 < $amt1; $i2++);
{
$secondb = $array1[$i2] / 10;
$firstb = $array1[$i2] % 10;
$firstb = $firstb * 10;
$array1[$i2] = $firstb + $secondb;
}
$inputs = implode($array1);
}
答案 0 :(得分:1)
未定义的偏移量151意味着您要检查数组是否包含第151个元素。
介意发布更多与您的for循环相关的代码?如果不知道$amt1
的价值,我们就无法做任何事情。
答案 1 :(得分:0)
当您将$array1[$i2]/10
和$array1[$i2]%10
除以$i2
的第一个值为0
且不允许执行除以0时。要跳过除0,我建议您在for循环中创建一个if条件并跳过除以0,或者将$i2
的起始值设置为1
。
for($i2 = 1, $i2< $amt1+1 ; i++){//your code}