当前位置: 首页 > 面试题库 >

递减字母值

许天逸
2023-03-14
问题内容

我试图弄清楚如何将数组中的一组字母值向下移动一个步骤。例如,我的数组包含值(“ d”,“ e”,“ f”,“ g”,“ h”),而我想将其更改为(“
c”,“ d”,“ e”,“ f” “, “G”)。这是我正在使用的代码:

function move_up_left($x) {
    if($x['orientation'] == "down") {
        foreach($x[0] as &$value) {
            $value = --$value; 
        }
    } else {
        foreach($x[1] as &$value) {
            $value = --$value;
        }
    }

    return $x;
}

当我使用正值时,字母会改变;但是,负数似乎根本不起作用。


问题答案:

PHP已超载++了字符串;并非如此--。你可以做同样的事情更清洁的代码chrord以及array_map

function decrementLetter($l) {
    return chr(ord($l) - 1);
}

function move_up_left($x) {
    if($x['orientation'] === 'down') $arr = &$x[0];
    else $arr = &$x[1];

    $arr = array_map('decrementLetter', $arr);

    return $x;
}

这是一个演示。请注意,您可能需要添加一种特殊情况来减少a-我不确定您要如何处理。



 类似资料:
  • 我需要一个java方法,它接受一个整数,然后将其递增并为您提供相应的alpha字符。类似于这样: 因此,如果我传递value等于,那么它应该递增并返回字母。如果我传递它,那么它应该返回字母。如果我将数字传递给它,那么它应该返回。如果我将数字传递给它,那么它应该返回等等。 alpha几乎模拟了excel工作表列的表示方式,我需要做的就是通过传递一个数字从方法中获取alpha值。除了从返回的字符串之外

  • 问题内容: 改善这个问题 我是android编码练习的新手 假设这是我的第一个ID,我希望使用共享的首选项将此值自动递增1并用作员工ID。如ABB20180002,ABB20180003,ABB20180004等。 问题答案: 您不能直接增加字母数字值。如果要这样做,您需要为其编写一些代码行 这是 activity_main.xml 这是 MainActivity.java 希望这会帮助你。

  • 问题内容: 这可能在MySql中吗?我可以有一个以字母为前缀的自动递增主键,例如R1234,R1235,R1236 …等等吗? 问题答案: 您可以做的是将密钥存储为两列。一个char前缀和一个auto-incrementing int,它们都被分组为主键。

  • 问题内容: Java中的“自动递增”字母-这可能吗?从A到Z而没有第三方库? 问题答案: 是的,您可以这样做: 类型转换也是可能的:

  • 问题内容: 您如何使用递归方法编写一个Java程序,该方法将一个int像“ 234”那样接受并将其转换为电话键盘上的相应字母(2 = ABC,3 = DEF等),并打印出此字符的排列?例如: 输入= 234 输出= ADG ADH ADI AEG AEH AEI AFG AFH AFI BDG BDH BDI BEG BEH BEI BFG BFH BFI CDG CDH CDI CEG CEH

  • 场景是——我读取文件的最后一行,将其递增一行,然后写回。 读写操作已完成。我发现很难增加alpha数值,因为它有一些条件。 条件包括: 它应该只有3个字符长 示例:A01、A02。。。。A99、B01、B02。。。。B99 一旦达到Z99,应为AA1、AA2、AA3。。。AA9 然后AB1,AB2,。。。AZ9 因此,基本上,当递增值时,不应变为AA10,即4个字符 我现在所做的是分离字母和整数,