计算后转换为Integer并返回String

时间:2013-04-02 18:31:40

标签: php arrays string integer

我有一个如下数组,我将其放入一个名为$ testcoords

的数组中
array (
  0 => '\'263',
  1 => '252',)

我想提取数值并对其进行操作,然后将它们放回字符串中。我正在尝试使用以下代码:

$tc2 = explode(":",$testcoords);
$tcx = (int)(trim($tc2[0],"'\'");
$tcy = (int)(trim($tc2[1],"'");
$tcx2 = (($tcx)*(600/386));
$tcy2 = (($tcy)*(600/386));
$xtrans = (string)$tcx2;
$ytrans = (string)$tcy2;

到目前为止,我知道修剪函数有效 - 只是(trim($ tc2 [0],“'\'”)或(trim($ tc2 [1],“'”)返回我的数值两个字符串。

现在我要做的是取这些数值,转换为我试图与trim函数结合的整数。一旦它们是整数,我想转回字符串并发布结果。

当我尝试这样做时,我没有得到任何结果。提升修剪数据的步骤很好。

例如,如果我只是

$tcx = (trim($tc2[0],"'\'");
$tcy = (trim($tc2[1],"'");

对于上面列出的数组,并回显结果,我的回复中得到263和252。

感谢关于如何完成其​​余任务的任何指示。

2 个答案:

答案 0 :(得分:0)

这是一个语法错误。您没有认识到这一点,因为您已禁用错误报告。您可以使用php.ini设置display_errors=1log_errors=1以及error_reporting=E_ALL这样的设置来执行此操作。您也可以通过发出以下命令在脚本中执行此操作:

ini_set('display_errors', 1); // for development 
ini_set('display_errors', 0); // for production (display_errors would be a security risk)
ini_set('log_errors', 1); // for both development and production
ini_set('error_reporting', E_ALL);

错误:转换为int时,您一直缺少右括号。 )

使用此:

$tcx = (int)(trim($tc2[0],"'\'")); // <-- note the second closing ')'
$tcy = (int)(trim($tc2[1],"'"));

进一步注意,这可以通过

简化
$tcx = (int)(trim($tc2[0],"'\'"); // <-- note the second closing ')'
$tcy = (int)(trim($tc2[1],"'");

答案 1 :(得分:0)

trim

之前,这些行上有一个不必要且未闭合的括号
$tcx = (int)(trim($tc2[0],"'\'");
$tcy = (int)(trim($tc2[1],"'");

将这些更改为:

$tcx = (int)trim($tc2[0],"'\'");
$tcy = (int)trim($tc2[1],"'");

此外,打开error_reporting进行开发时,您会看到明确指出的错误。