如何用PHP将字符串转为索引数组?array_values的使用技巧

先用explode或preg_split等函数将字符串按分隔符拆分为数组,再通过array_values确保索引连续;该函数在处理空元素过滤后重新索引、从关联数组提取值、复杂字符串解析等场景中尤为关键,能保证最终数组结构规整、易于操作。

如何用php将字符串转为索引数组?array_values的使用技巧

PHP中将字符串转换为索引数组,尤其是当我们需要一个干净、从0开始的连续数字索引时,

array_values
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制

这个函数无疑是关键一环。但它通常不是单独行动的,多数时候,它会作为“整理者”出现在字符串分割(比如

explode
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制

preg_split
登录后复制
登录后复制
登录后复制
登录后复制

)之后,确保我们最终得到一个结构规整、易于操作的数组。简单来说,就是先想办法把字符串“拆”成数组,再用

array_values
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制

把数组的键值“捋顺”了。

解决方案

将字符串转换为索引数组,核心思路是先将字符串依据某种规则(通常是分隔符)拆分成数组元素,然后再根据需要,利用

array_values
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制

来确保数组的键是连续的数字索引。

场景一:基于简单分隔符的字符串转换

这是最常见的情况,比如你有一个逗号分隔的字符串,想把它变成一个包含这些元素的索引数组。

立即学习PHP免费学习笔记(深入)”;

<?php
$str = "apple,banana,orange";
$array = explode(",", $str);
// 此时 $array 已经是索引数组:[0 => 'apple', 1 => 'banana', 2 => 'orange']
// 理论上这里 array_values 是可选的,但如果后续有操作可能打乱索引,提前用一下也无妨。
$indexedArray = array_values($array);

print_r($indexedArray);
/*
Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
*/

// 如果字符串中包含空值,并且你想移除它们,然后重新索引
$strWithEmpty = "apple,,banana,orange,";
$tempArray = explode(",", $strWithEmpty);
$filteredArray = array_filter($tempArray); // 移除空字符串
$finalIndexedArray = array_values($filteredArray); // 重新索引

print_r($finalIndexedArray);
/*
Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
*/
?>
登录后复制

场景二:从解析出的关联数组中提取值并重新索引

有时候,你可能从一个字符串解析出一个关联数组,但你只关心这些值,并希望它们在一个新的、干净的索引数组里。

<?php
$queryString = "name=John Doe&age=30&city=New York";
parse_str($queryString, $outputArray); // $outputArray 是关联数组

print_r($outputArray);
/*
Array
(
    [name] => John Doe
    [age] => 30
    [city] => New York
)
*/

// 现在,我们只想要这些值,并且是索引数组
$indexedValues = array_values($outputArray);

print_r($indexedValues);
/*
Array
(
    [0] => John Doe
    [1] => 30
    [2] => New York
)
*/
?>
登录后复制

场景三:处理更复杂的字符串分割与清理

当分隔符不固定,或者需要更精细的控制时,

preg_split
登录后复制
登录后复制
登录后复制
登录后复制

配合

array_values
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制

会是好搭档。

<?php
$complexStr = "item1 | item2 ; item3 - item4";
// 使用正则表达式匹配多种分隔符:空格、|、;、-
$tempArray = preg_split('/[ |;/-]/', $complexStr, -1, PREG_SPLIT_NO_EMPTY);
// PREG_SPLIT_NO_EMPTY 标志会移除空匹配,但索引可能仍不连续

$finalIndexedArray = array_values($tempArray); // 确保索引连续

print_r($finalIndexedArray);
/*
Array
(
    [0] => item1
    [1] => item2
    [2] => item3
    [3] => item4
)
*/
?>
登录后复制

为什么有时候

explode
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制

后还需要

array_values
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制

?它真的必要吗?

说实话,对于一个简单的

explode
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制

操作,如果你的原始字符串不包含多个连续的分隔符,或者你没有在之后对数组进行

unset
登录后复制

array_filter
登录后复制
登录后复制

等操作,

array_values
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制

在很多情况下看起来是多余的。因为

explode
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制

函数本身就会返回一个从0开始的索引数组。

然而,我发现它真正变得不可或缺的场景主要有这么几个:

  1. 处理空元素后的重新索引:这是最常见也最有用的地方。比如你用

    explode
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    分割一个字符串,如果字符串里有连续的分隔符(

    "a,,b"
    登录后复制

    ),或者字符串以分隔符开头/结尾(

    ",a,b,"
    登录后复制

    ),

    explode
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    会产生空字符串元素。如果你用

    array_filter
    登录后复制
    登录后复制

    把这些空元素清掉,那么原来的索引可能会出现断裂,比如

    [0 => 'a', 2 => 'b']
    登录后复制

    。这时候,

    array_values
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    就是救星,它会把所有剩余的元素重新编号,确保索引从0开始且连续。这对于前端展示或者API输出要求严格的场景尤其重要。

    <?php
    $str = "apple,,banana,orange,";
    $temp = explode(",", $str);
    print_r($temp);
    /*
    Array
    (
        [0] => apple
        [1] =>
        [2] => banana
        [3] => orange
        [4] =>
    )
    */
    
    $filtered = array_filter($temp); // 移除了 [1] 和 [4]
    print_r($filtered);
    /*
    Array
    (
        [0] => apple
        [2] => banana
        [3] => orange
    )
    */
    
    $reindexed = array_values($filtered); // 重新索引
    print_r($reindexed);
    /*
    Array
    (
        [0] => apple
        [1] => banana
        [2] => orange
    )
    */
    ?>
    登录后复制
  2. 从关联数组中提取值:如果你有一个关联数组,而你需要的仅仅是它的所有值,并且希望这些值在一个普通的、以数字索引的列表中。

    array_values
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    就是为此而生,它会“抛弃”原有的键名,只保留值,并赋予新的连续数字索引。

  3. 代码风格和防御性编程:有时候,即便当前逻辑下

    array_values
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    看起来不是严格必要的,但为了代码的一致性、可读性,或者预防未来可能的修改(比如后续可能会引入过滤操作),提前使用

    array_values
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    可以确保无论中间发生了什么,最终的数组总是以0开始的连续索引。这在我看来,是一种对输出结果的“强制标准化”,尤其是在函数或方法返回数组给其他模块时,能减少不确定性。

所以,它是否必要,取决于具体场景和你对数组索引结构的要求。但多数时候,尤其是在数据处理和清洗之后,它能帮你把数组整理得更符合预期。

除了简单的分隔符,如何处理更复杂的字符串到数组转换场景?

当字符串的结构不再是简单的逗号或管道符分隔时,我们确实需要更强大的工具。这时候,PHP提供了几种不同的策略,而

array_values
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制

依然可以在最后一步扮演“整理者”的角色。

  1. 正则表达式分割 (

    preg_split
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    )
    这是处理复杂分隔符模式的首选。比如,你可能需要根据一个或多个空格、制表符,或者混合了多种标点符号的模式来分割字符串。

    preg_split
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    能让你用正则表达式来定义分隔符。

    <?php
    $text = "This is a sentence. Another one here! And a third...";
    // 假设我们想根据句号、感叹号或省略号来分割句子,并移除空结果
    $sentences = preg_split('/[.!]+|/.{3}/', $text, -1, PREG_SPLIT_NO_EMPTY);
    $finalSentences = array_values($sentences); // 确保索引连续
    
    print_r($finalSentences);
    /*
    Array
    (
        [0] => This is a sentence
        [1] => Another one here
        [2] => And a third
    )
    */
    ?>
    登录后复制

    这里

    PREG_SPLIT_NO_EMPTY
    登录后复制

    标志非常有用,它能自动过滤掉空匹配项,但如前所述,索引可能仍需

    array_values
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    来修复。

  2. 解析查询字符串 (

    parse_str
    登录后复制
    登录后复制

    )
    如果你的字符串是标准的URL查询字符串格式(

    key1=value1&key2=value2
    登录后复制

    ),

    parse_str
    登录后复制
    登录后复制

    是你的最佳选择。它能直接将字符串解析成关联数组。

    <?php
    $dataString = "product_id=123&category=electronics&price=99.99";
    parse_str($dataString, $parsedData);
    // $parsedData 已经是关联数组了:['product_id' => '123', 'category' => 'electronics', 'price' => '99.99']
    
    // 如果你只需要这些值作为索引数组
    $valuesOnly = array_values($parsedData);
    
    print_r($valuesOnly);
    /*
    Array
    (
        [0] => 123
        [1] => electronics
        [2] => 99.99
    )
    */
    ?>
    登录后复制
  3. JSON字符串解析 (

    json_decode
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    )
    当字符串本身就是JSON格式时,

    json_decode
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    是唯一的答案。它能将JSON字符串转换为PHP数组或对象。

    <?php
    $jsonString = '{"name":"Alice","age":25,"hobbies":["reading","coding"]}';
    $decodedArray = json_decode($jsonString, true); // true表示解码为关联数组
    
    print_r($decodedArray);
    /*
    Array
    (
        [name] => Alice
        [age] => 25
        [hobbies] => Array
            (
                [0] => reading
                [1] => coding
            )
    )
    */
    
    // 如果你只想要顶层的值,并重新索引
    $topLevelValues = array_values($decodedArray);
    
    print_r($topLevelValues);
    /*
    Array
    (
        [0] => Alice
        [1] => 25
        [2] => Array
            (
                [0] => reading
                [1] => coding
            )
    )
    */
    ?>
    登录后复制

    这里要注意,

    json_decode
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    如果遇到JSON数组(

    "[1,2,3]"
    登录后复制

    ),默认就会解码成索引数组,这时候

    array_values
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    就没必要了。但如果是JSON对象(

    "{"a":1,"b":2}"
    登录后复制

    )解码成关联数组后,再用

    array_values
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    就有意义。

选择哪种方法,完全取决于你字符串的原始结构。但不变的是,无论多复杂的解析,如果你最终目标是一个纯粹的、从0开始的连续索引数组,

array_values
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制

总能在最后为你完成这项“收尾”工作。

使用

array_values
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制

时有哪些性能考量和潜在陷阱?

array_values
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制

是一个非常实用的函数,但在使用它时,我们确实需要对它的行为有一些基本了解,尤其是在性能和潜在的数据丢失方面。

  1. 性能考量:
    从性能角度看,

    array_values
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    会创建一个新的数组。这意味着它会遍历原数组,将所有值复制到新数组中,并赋予新的数字索引。

    • 内存开销:在操作期间,内存中会暂时存在两个数组(原数组和新数组)。对于小型数组,这几乎可以忽略不计。但如果你处理的是包含数十万甚至数百万元素的巨型数组,那么这种内存翻倍的效应就值得关注了。在极端内存受限的环境下,这可能会成为问题。
    • CPU开销:遍历和复制操作会消耗CPU时间。同样,对于大多数应用场景,这个开销微乎其微。只有在非常高性能要求的循环中,对巨型数组反复调用

      array_values
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制

      时,才需要考虑其对性能的影响。

    • 总结:对于日常开发和中等规模的数据集,

      array_values
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制

      的性能影响通常可以忽略。不要过早地优化它,除非你通过性能分析工具确定它确实是瓶颈。

  2. 潜在陷阱:

    • 意外丢失原有键名:这是

      array_values
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制

      最“致命”的特性,也是它设计的初衷。如果你有一个关联数组,它的键名承载着重要的语义信息(比如

      ['user_id' => 123, 'username' => 'test']
      登录后复制

      ),而你只是想遍历这些值,却错误地使用了

      array_values
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制

      ,那么这些有意义的键名就会被丢弃,只剩下值和新的数字索引。一旦键名丢失,你可能就无法再通过键来快速查找或识别数据了。

      <?php
      $userData = ['id' => 101, 'name' => 'Alice', 'email' => 'alice@example.com'];
      $onlyValues = array_values($userData);
      print_r($onlyValues); // Array ( [0] => 101 [1] => Alice [2] => alice@example.com )
      // 原始的 'id', 'name', 'email' 键已经找不回来了
      ?>
      登录后复制

      所以,在使用前务必确认:你真的不需要原有的键名了吗?如果你只是想遍历值,

      foreach ($array as $value)
      登录后复制

      就足够了,不需要

      array_values
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制

    • 不必要的调用:就像前面提到的,

      explode
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制

      json_decode
      登录后复制
      登录后复制
      登录后复制
      登录后复制

      (针对JSON数组)等函数本身就可能返回索引数组。在这种情况下,再调用

      array_values
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制

      是多余的。它不会造成错误,但会引入轻微的性能开销和不必要的代码行数。这虽然不是什么大问题,但在追求代码简洁和效率的场景下,可以避免。

    • 混淆数据结构:如果你在一个复杂的嵌套数据结构中不小心对某个子数组使用了

      array_values
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制
      登录后复制

      ,可能会改变该子数组的结构,从而影响上层逻辑的预期。比如,一个API响应可能要求某个字段必须是关联数组,你却把它变成了索引数组,这会导致API消费者解析失败。

总的来说,

array_values
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制

是一个非常直接且功能单一的函数:它就是为了给你一个纯粹的、数字索引从0开始且连续的数组。理解它的工作原理和副作用,就能更好地利用它,避免不必要的麻烦。在我的经验里,它更多是作为数据清洗和标准化流程中的一个步骤,而不是一个随手可用的通用转换工具。

以上就是如何用PHP将字符串转为索引数组?array_values的使用技巧的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/1484539.html

发表回复

Your email address will not be published. Required fields are marked *