0

我有个问题。为了让事情更清楚,我将举一个例子:

值以表格形式提交。我有:

Value1: Blanc
Value2: Titanium
Value3: 100
Value4: 150
Value5: China

我想得到一个具有这种结构的值 6:

BLTIT-100150-CH

Value6 有:(value1 的 2 个字符)+(value5 的 3 个字符)+(-)+(value3+value4 +(-)+(value5 的 2 个字符)。有没有办法用 PHP 或 JavaScript 做到这一点?

4

4 回答 4

0

PHP 中的 substr() 和连接 (.) 运算符的组合将解析出它。

例如,substr($_POST['Value 1'],0,2);将获得值 1 的前两个字符,前提是它位于该 POST 数组中。

然后只需在字符串上使用 concat 运算符:

$val6 = $str1.$str2."-".$str3.$str4."-".$str5;

在 PHP 中这很容易。

于 2012-04-19T16:36:17.797 回答
0

在 PHP 中:

$Value6 = strtoupper(substr($Value1,0,2) . substr($Value2,0,3) . '-' . 
                     $Value3 . $Value4 . '-' . substr($Value5,0,2)
                    );

当然,这假设您的变量是在本地设置的。如果您直接从 POST 获取它们,则需要$_POST['Value1']代替$Value1等。

查找substr- 它需要一个字符串的一部分(称为子字符串),给定一个起点和一个长度。:http: //php.net/manual/en/function.substr.php

.PHP 字符串连接运算符 - 它将两个字符串连接在一起。

strtoupper将字符串转换为大写(参见http://php.net/manual/en/function.strtoupper.php

于 2012-04-19T16:36:33.213 回答
0

使用 PHP,当您收到信息时,您可以执行以下操作:

$newValue = $_POST[Value1][0].$_POST[Value1][1];
$newValue .= $_POST[Value2][0].$_POST[Value2][1].$_POST[Value2][2]."-";
$newValue .= $_POST[Value3];
$newValue .= $_POST[Value4]."-";
$newValue .= $_POST[Value5][0].$_POST[Value5][1];
于 2012-04-19T16:39:18.693 回答
0

这将使您在 PHP 中得到您想要的:

$value6 = strtoupper(substr($value1, 0, 2)) . strtoupper(substr($value2, 0, 3)) .
    "-{$value3}{$value4}-". strtoupper(substr($value5, 0, 2));


编辑 :

由于生成的字符串 ( $value6) 中的所有字符都是大写的,因此您可以通过以下操作将其缩短一点:

$value6 = strtoupper(substr($value1, 0, 2) . substr($value2, 0, 3) .
    "-{$value3}{$value4}-". substr($value5, 0, 2));
于 2012-04-19T16:39:24.787 回答