我正在尝试创建一个函数,将执行以下操作: 有一个以
形式构建的数组$array = [
0 => 1,
1 => 2,
2 => 4,
];
我想创建一个长度为5的字符串,其中当前数组的值按正确的顺序排列,如:12040。
或
$array = [
0 => 3,
1 => 5,
];
将成为:00305
本质上,用字符串中的0替换数组中不存在的位置。
谢谢你!答案 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。