【问题标题】:add value to array to particular key position and shift rest of array to right [duplicate]向数组添加值到特定的关键位置并将数组的其余部分向右移动[重复]
【发布时间】:2016-11-14 23:45:04
【问题描述】:

我有一个类似的数组

Array ( [0] => xyz [1] => 93049 [2] => London [3] => Telephone: 45687654 [4] => Telefax: 54478453248 [5] => [6] => )

现在我想在关键位置 [1] 添加一个空白值并将数组的其余部分移到右侧,如

Array ( [0] => xyz [1] => [2] => 93049 [3] => London [4] => Telephone: 45687654 [5] => Telefax: 54478453248 [6] => [7] => )

我如何在 PHP 中做到这一点。 请提出建议。

【问题讨论】:

    标签: php arrays sorting


    【解决方案1】:

    array_splice() 函数将解决您的目的。

    试试这个:

    $original = array(
        'xyz', 93049, 'London', 'Telephone: 45687654', 'Telefax: 54478453248', '', '' 
    );
    echo '<pre>';
    print_r($original);
    

    原始数组:

       Array
    (
    [0] => xyz
    [1] => 93049
    [2] => London
    [3] => Telephone: 45687654
    [4] => Telefax: 54478453248
    [5] => 
    [6] => 
    )
    
    $pos = 1;       // Position where you want to insert
    $string = '';   // The string you want to insert
    array_splice($original, $pos, 0, '');
    
    print_r($original);
    

    最终输出:

      Array
    (
    [0] => xyz
    [1] => 
    [2] => 93049
    [3] => London
    [4] => Telephone: 45687654
    [5] => Telefax: 54478453248
    [6] => 
    [7] => 
    )
    

    【讨论】:

    • 是的,这解决了我的目的,非常感谢。
    【解决方案2】:
    $original = array( '0', '2', '3', '4', '5' );
    $inserted = array( '1' ); 
    array_splice( $original, 1, 0, $inserted );
    

    【讨论】:

      【解决方案3】:

      array_splice 可以胜任:

      <?php
      $arr = Array( "xyz","93049","London","Telephone: 45687654","Telefax: 54478453248","","" );
      $new = Array( "" );
      array_splice( $arr,1,0,$new ); // INSERT THE $NEW ARRAY IN POSITION 1.
      var_dump( $arr );
      ?>
      

      结果如下:

      array (size=8)
        0 => string 'xyz' (length=3)
        1 => string '' (length=0)
        2 => string '93049' (length=5)
        3 => string 'London' (length=6)
        4 => string 'Telephone: 45687654' (length=19)
        5 => string 'Telefax: 54478453248' (length=20)
        6 => string '' (length=0)
        7 => string '' (length=0)
      

      或者:

      Array ( [0] => xyz [1] => [2] => 93049 [3] => London [4] => Telephone: 45687654 [5] => Telefax: 54478453248 [6] => [7] => ) 
      

      【讨论】:

        【解决方案4】:

        您可以任意放置一个您认为是黑色空间的值...

        例如,我在任意考虑当“BLANK”这个词出现时, 它是一个空格......所以:

        数组([0] => xyz [1] => 空白 [2] => 93049 [3] => 伦敦 [4] => 电话:45687654 [5] => 传真:54478453248 [6] => [7] => ....

        这不是一个明确的解决方法,但如果您不是在寻找最干净的方法,它会解决。

        【讨论】:

        • 这并没有回答如何插入一个位置并移动其他值的问题。
        猜你喜欢
        • 2021-11-23
        • 1970-01-01
        • 1970-01-01
        • 2017-05-13
        • 2020-12-09
        • 2014-02-15
        • 1970-01-01
        • 2013-04-12
        • 2010-11-19
        相关资源
        最近更新 更多