根据数组的索引创建一个字符串

时间:2015-12-01 15:04:33

标签: php arrays

我正在尝试创建一个函数,将执行以下操作: 有一个以

形式构建的数组
$array = [
    0 => 1,
    1 => 2,
    2 => 4,
];

我想创建一个长度为5的字符串,其中当前数组的值按正确的顺序排列,如:12040。

$array = [
    0 => 3,
    1 => 5,
];

将成为:00305

本质上,用字符串中的0替换数组中不存在的位置。

谢谢你!

2 个答案:

答案 0 :(得分:3)

这样的事情应该是你想要的:

<?php
$input = [1,2,5,6,8];
$string = '';
for ($i=1; $i<=max($input); $i++) {
    $string .= in_array($i, $input) ? $i : '0';
}
var_dump($string);

输出结果为:

string(8) "12005608"

答案 1 :(得分:2)

我不是100%肯定我明白你的意思,但我认为你在寻找这个:

$finalString = "";
for ($i = 0, $j = count($myArray); $i < $j; $i++)
{
    if (isset($myArray[$i]))
    {
        $finalString .= $myArray[$i];
    }
    else
    {
        $finalString .= "0";
    }
}

编辑:我意识到你可能正在寻找这个:

$myArray = [3, 5];
$finalString = "";
for ($i = 1; $i <= 5; $i++)
{
    if (in_array($i, $myArray))
    {
        $finalString .= $i;
    }
    else
    {
        $finalString .= "0";
    }
}

$finalString包含00305后。如果你想继续这个而不仅仅是5个空格,只需改变循环中的5。