PHP:如何从数组中的每个字符串中删除前两个字符?

时间:2019-02-25 19:57:36

标签: php arrays string key

拥有:

[0] => 0-3019
[1] => 0-3020
[2] => 0-1031
[3] => 0-3021
[4] => 0-1004
[5] => 0-3011

想要:

[0] => 3019
[1] => 3020
[2] => 1031
[3] => 3021
[4] => 1004
[5] => 3011

不确定如何摆脱它,请尝试此操作。

编辑:这是我尝试过的代码:

$files = array_keys($_FILES);

foreach ($files AS $f) {
    $f = substr($f,2);
}

由于某种原因,它可以在forloop中使用,但实际上并没有将每个元素保存为自身的子字符串版本:(

2 个答案:

答案 0 :(得分:2)

您可以引用&每个暴露的元素以更改原始元素:

foreach ($files as &$f) {
    $f = substr($f, 2);
}

或使用键修改原始数组:

foreach ($files as $k => $f) {
    $files[$k] = substr($f, 2);
}

答案 1 :(得分:1)

假设您的数组名称为$elements,您可以遍历数组的每个元素,然后使用PHP substr用字符串的一部分替换当前值。

substr($string, $start, $length)的工作是从$string开始,以字符串$length的一部分来命名,长度为$start

<?php
foreach ($elements as $index=>$element) {
    $elements[$index] = substr($element, 2);
}
?>

更新

如果需要更改索引的索引,则可以执行以下操作:

<?php
foreach ($elements as $index=>$element) {
    $new_index = substr($index, 2);
    $elements[$new_index] = $element;

    unset($elements[$index]);
}
?>