2017-02-12 20 views
1

我似乎无法从数字的末尾删除加号。从数字的末尾开始加上条形码

我有一个包含库存水平的文件。当股票超过20时,他们使用20+。

这似乎不起作用。

case 'MTA' : 
     if (isset($line[0])) { 

     $stock = ($line[15] == '20+') ? 20 : $line[15]; 
     } 

     $rows[] = array('sku' => $line[0], 'stock' => $stock); 
     } 
     break; 

我也试过,没有运气以下行:

 if ($line[15] == '20+') { 
      $line[15] = (int)20; 

     $stock = (int)str_replace('20+', '20', $line[15]); 

     $stock = str_replace('+', '', $line[15]); 

任何建议,将不胜感激!

+0

什么是你已经尝试了什么结果呢?错误?错误的价值? – swdev

+0

也可以使用'urldecode($ line [0])'。 '+'将被改为一个空格 - 如果有的话。 – Tigger

+0

swdev,这是为几年前某个人提供的自定义drupal模块。这很好,直到我找到一位使用20+格式的新分销商。结果是文件被部分解析。我的这个技巧是有限的,我无法进行更多的调试。 –

回答

2

使用本:

$stock = rtrim($line[15],"+"); 
0

试试这个:

$line[15]= '20+'; 
$stock = intval($line[15]); 
+0

虽然此代码可能会回答问题,但提供有关如何解决问题和/或为何解决问题的其他上下文可以提高答案的长期价值。 –

2

您可以使用rtrimsubstr_replacesubstr

按照您的例子,substr_replace可以写成如下

$line[15]= '20+'; 
$stock=substr_replace($line[15] ,"",-1); 
echo $stock; 

使用substr

$line[15]= '20+'; 
$stock=substr($line[15], 0, -1); 
echo $stock; 

使用rtrim

$line[15]= '20+'; 
$stock=rtrim($line[15], "+"); 
echo $stock; 
相关问题