Попытка преобразовать буквы в цифры

#php #function #str-replace

Вопрос:

Поэтому я создал функцию, позволяющую изменять буквы из отдельных букв на 2-значное число.

Это и есть код:

 lt;?php function Letter2number($abc) {  //A = 00  str_replace('a','00',$abc);  str_replace('A','00',$abc);  //B = 01  str_replace('b','01',$abc);  str_replace('B','01',$abc);  //C = 02  str_replace('c','02',$abc);  str_replace('C','02',$abc);  //D = 03  str_replace('d','03',$abc);  str_replace('D','03',$abc);  //E = 04  str_replace('e','04',$abc);  str_replace('E','04',$abc);  //F = 05  str_replace('f','05',$abc);  str_replace('F','05',$abc);  }  

?gt;

Когда переменная из ввода формы обрабатывается с помощью этой функции, она должна была выводить 2-значное число.

Но вывод пустой.

Есть идеи, что я делаю не так?

Комментарии:

1. Я хотел бы увидеть больше кода, чтобы рассказать вам, где все пошло не так, в любом случае, я думаю, что ord( $character) делает то, что уже делает ваша функция

2. Я вижу, вы решили свою проблему, если вы используете strtolower или верхний в PHP, вам нужно будет сопоставить только одну букву вместо двух, одну для нижнего и одну для верхнего. Если только вам действительно не нужно возвращать заглавную или строчную букву

Ответ №1:

Первая попытка программирования? Я надеюсь, что ты немного повеселишься. В вашем коде есть две основные проблемы, обе они связаны с возвращаемыми значениями.

  1. Что-то вроде str_replace('F','05',$abc); возвращает строку, с которой вам нужно что-то сделать. Например: $abc = str_replace('F','05',$abc); .
  2. Ваш function ничего не возвращает. В нижней части функции используйте return $abc; .

Также рассмотрите свой выбор имени переменной: $abc подразумевается, что оно содержит алфавит, а не одну букву. Лучшим именем было бы $letter .

совет: Я использовал $abc приведенные выше пункты, чтобы не смущать вас еще больше, но сам код далек от оптимального. Можете ли вы сделать это лучше?

Комментарии:

1. спасибо, совершенно пропустил возвращение. Я знаю некоторые базовые вещи и учусь у php.net и w3c.