#php
#php
Вопрос:
У меня есть следующий тестовый код:
<?php
$letter = 'A';
$letter ;
$letter ;
echo $letter.'<br>'; // C
$letter ;
$letter ;
$letter ;
echo $letter.'<br>'; // F
// how to add plus 3 letters
// so that
// $letter 3 => I
Как показано здесь, используя $letter
или $letter--
, я могу увеличить или уменьшить символ. Есть ли способ, которым я могу сделать что-то вроде $letter 3
, чтобы в сумме получилось 3 буквы.
Я знаю, что могу создать функцию с циклом, которая будет добавлять символ за символом, и в конце я получу результат. Но есть ли способ лучше?
Комментарии:
1. Все предлагают добавить ‘3’, но это не работает ! 🙂
2. Кто-нибудь вообще прочитал вопрос?
3. OP вообще ответил на вопрос в Google?
4. И кто-нибудь (из тех, кто предлагал $ l 3) действительно потратил пять секунд на тестирование предлагаемого решения? sscce.org работает обоими способами; пожалуйста, протестируйте такие простые трехстрочные варианты.
Ответ №1:
Могут быть решения получше, но самый быстрый способ, который я могу придумать, это:
// get ASCII code of first letter
$ascii = ord('A');
// echo letter for 3
echo chr($ascii 3);
имейте в виду, что после Z вы получите другие символы
Комментарии:
1. Но имейте в виду, что это решение (как уже упоминал грисси) не идентично подходу $ x . функция increment_string() php ведет себя как perl
s string increment, i.e.
$letter = ‘Z’; echo $letter;` печатаетAA
.
Ответ №2:
Попробуйте это…
$letter = ord('A') 3;
echo chr($letter);
Ответ №3:
Может быть, это сработает:
$x = 'G';
$y = range('A','Z');
echo $y[array_search($x,$y) 3];
Ответ №4:
Старая тема, но на случай, если кто-то будет искать. Создайте массив букв, нужная буква как в электронной таблице.
$alphabet = array('A','B','C','D','E','F','G','H','I','J','K','L','M',..........'AY','AZ');
//add 36 to the letter A
$val = (array_search('A',$alphabet)) 36;
echo $alphabet[$val]."<BR>";
Комментарии:
1. Это вообще не отвечает на вопрос.
Ответ №5:
Мне не очень нравится ни один из этих ответов, поскольку они не повторяют функцию PHP. Ниже, вероятно, самый простой способ повторить это.
function addLetters($letter,$lettersToAdd){
for ($i=0;$i<$lettersToAdd;$i ){
$letter ;
}
return $letter;
}
echo addLetters('G',4);
echo "n";
echo addLetters('Z',4);
Дает
K
ОБЪЯВЛЕНИЕ