不允许在表格上处理两位数的代码

时间:2019-01-15 20:34:51

标签: php substr

我有一个数组,该数组在列表中使用两个代码,并将它们推入下一页的表单中。目前我有:

            $code= array();
            $code['c1'] = substr($part, 0, 1);
            $code['c2'] = substr($part, 2);

现在,如果我选择一个具有一位数字c1且具有一个或两个c2的内容,那么它将添加到表单中。

示例:

1-9
1-15
9-12
9-9

但是,如果我尝试在c1中添加两位数的东西,它不会添加,例如:

10-1
10-2
10-11

如果我尝试

$codes= array();
$codes['c1'] = substr($part, 0, 2);
$codes['c2'] = substr($part, 2);

然后没有任何代码显示。

我该如何兼顾?

更新:

当前,如果我选择10-58,则上面的代码会将c1转储为1,将c2转储为-5

1 个答案:

答案 0 :(得分:3)

您可以轻松地使用explode()list()拆分代码的任意组合...

$part = "1-15";
$codes = array();
list($codes['c1'], $codes['c2']) = explode("-", $part);
print_r($codes);

给予...

Array
(
    [c1] => 1
    [c2] => 15
)

对于

$part = "10-15";

它给出了...

Array
(
    [c1] => 10
    [c2] => 15
)

如果不确定数据是否始终正确,则可以在使用explode()之后检查数据是否包含2个成分,然后仅进行转换,还可以执行报告和错误操作或执行任何所需的操作。 ..

$split = explode("-", $part);
if ( count($split) == 2 ){
    $codes['c1'] = $split[0];
    $codes['c2'] = $split[1];
}
else    {
    // Not of correct format.
}

print_r($codes);