我需要帮助在PHP中更改一个字符。 我从网上得到了一些代码:
char dest='a';
int conv=(int)dest;
我能用这段代码将字符转换成数字吗?或者你有其他的想法吗? 我只想将结果显示为十进制数:
if null == 0
if A == 1
我需要帮助在PHP中更改一个字符。 我从网上得到了一些代码:
char dest='a';
int conv=(int)dest;
我能用这段代码将字符转换成数字吗?或者你有其他的想法吗? 我只想将结果显示为十进制数:
if null == 0
if A == 1
NULL
情况,只需使用if($dest)
。如果$dest
不是NULL
或0
,则条件成立。char dest='a';
是错误的。在PHP中,变量需要以$
开头而且没有类型声明,应该是$dest = 'a';
。
实时示例<?php
function toNumber($dest)
{
if ($dest)
return ord(strtolower($dest)) - 96;
else
return 0;
}
// Let's test the function...
echo toNumber(NULL) . " ";
echo toNumber('a') . " ";
echo toNumber('B') . " ";
echo toNumber('c');
// Output is:
// 0 1 2 3
?>
注意: 您可以在此查看ASCII值。
toNumber
使用if ... else ...
语句来处理NULL
和0
的情况。您还可以使用is_null()
仅检查null,但我认为在这种情况下if($dest)
更好。 - Peter Ajtai确实,它的示例代码可以正常工作,但你应该使用php语法(顺便提一下:你找到的代码可能是其他语言,它并不会做同样的事情)。
因此:
$in = "123";
$out = (int)$in;
$out === 123
$dest = 'a';
$conv = ord($dest);
如果你想要类似这样的东西:
a == 1
b == 2
.
.
.
你应该做:
$dest = 'a';
$conv = ord($dest)-96;
了解ASCII代码的更多信息:http://www.asciitable.com/
关于ord函数的使用,请查看:http://www.php.net/manual/en/function.ord.php
$dest = 'a'; $conv = ord($dest);
。 - Brendan Long这个问题很难回答,因为它并不是一个真正的问题,只是其中的一小部分。
但如果你问的话。
看起来你需要一张翻译表,它定义了字母和数字之间的链接。
A -> 2
B -> 3
C -> 4
S -> 1
或者其他什么。
您可以通过使用数组来实现此目的,其中键将是这些字母,值将是所需数字。
$defects_arr = array(
'A' -> 2,
'B' -> 3,
'C' -> 4'
'S' -> 1
};
因此,您可以将这些字母转换为数字
$letter = 'A';
$number = $defects_arr($letter);
echo $number; // outputs 1
但似乎这仍不是你想要的。
这些缺陷类型是否有详细的等价物?如果有,为什么不使用它们而不是字母呢?
讲述整个故事而不是一点点将帮助你避免错误,并节省大量时间,无论是你自己还是那些回答问题的人。
如果你想把 RT0005
转成 5
,请看这个问题之外的解决方案。
$max = 'RT0005';
return base_convert($max,10,10);
// return 5
null
/false
值转换为0。 - deceze