为了账号安全,请及时绑定邮箱和手机立即绑定

在数字之间添加 x

在数字之间添加 x

PHP
MM们 2022-07-22 10:16:46
我有数字列表11121113111411151116-11171118-111911201121-1122需要显示这些数字,如下所示1x1121x1131x1141x1151x120这些数字随着 - 爆炸而显示1x1161x1171x1181x1191x1211x122
查看完整描述

4 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

尝试像这样转换为数组。


<?php 

$a = array();

$a[] = 1112;

$a[] = 1113;

$a[] = 1114;

$a[] = 1115;

$a[] = '1116-1117';

$a[] = '1118-1119';

$a[] = 1120;

$a[] = '1121-1122';


$output = array();

foreach($a as $key=>$value){

    if (strpos($value, '-') !== false) {

        $sub_a = explode('-',$value);

        foreach($sub_a as $sub_key=>$sub_value){

            $output[$key][$sub_key] = substr($sub_value, 0, 1).'x'.substr($sub_value, 1);       

        }

    }else{

        $output[$key] = substr($value, 0, 1).'x'.substr($value, 1);

    }

}

print_r($output);

输出


Array

(

    [0] => 1x112

    [1] => 1x113

    [2] => 1x114

    [3] => 1x115

    [4] => Array

        (

            [0] => 1x116

            [1] => 1x117

        )


    [5] => Array

        (

            [0] => 1x118

            [1] => 1x119

        )


    [6] => 1x120

    [7] => Array

        (

            [0] => 1x121

            [1] => 1x122

        )


)


查看完整回答
反对 回复 2022-07-22
?
跃然一笑

TA贡献1826条经验 获得超6个赞

将您的数字转换为字符串,然后您可以操纵它们:


$a = 1112;

$a = (string) $a;

var_dump(substr($a, 0, 1) . 'x' . substr($a, 1)); /* "1x112" */


查看完整回答
反对 回复 2022-07-22
?
慕雪6442864

TA贡献1812条经验 获得超5个赞

试试下面的代码。它为你工作。


<?php

    $numStr = '1112 1113 1114 1115 1116-1117 1118-1119 1120 1121-1122';

    $numStr = explode(' ',str_replace('-',' ',$numStr));


    foreach($numStr as $key => $num) {

        $numStr[$key] = substr($num, 0, 1) . 'x' . substr($num, 1);

    }


    echo $numStr = implode(' ',$numStr);

?>

输出

1x112 1x113 1x114 1x115 1x116 1x117 1x118 1x119 1x120 1x121 1x122 


查看完整回答
反对 回复 2022-07-22
?
POPMUISE

TA贡献1765条经验 获得超5个赞

拆分任何非数字,然后替换部分字符串:


<?php

$list = '1112 1113 1114 1115 1116-1117 1118-1119 1120 1121-1122';

foreach(preg_split('/[^0-9]/', $list) as $number)

    echo substr_replace($number, 'x', 1, 0), "\n";

输出:


1x112

1x113

1x114

1x115

1x116

1x117

1x118

1x119

1x120

1x121

1x122


查看完整回答
反对 回复 2022-07-22
  • 4 回答
  • 0 关注
  • 142 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信