将数组的值添加到特定的键位置,并将数组的其余部分移到右侧

时间:2016-07-12 16:00:18

标签: php arrays sorting

我有一个类似

的数组
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做到这一点。 请建议。

4 个答案:

答案 0 :(得分:1)

$original = array( '0', '2', '3', '4', '5' );
$inserted = array( '1' ); 
array_splice( $original, 1, 0, $inserted );

答案 1 :(得分: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 :(得分:0)

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] => ) 

答案 3 :(得分:-1)

您可以将任意识别的值设为黑色空间......

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

数组([0] =&gt; xyz [1] =&gt; BLANK [2] =&gt; 93049 [3] =&gt;伦敦[4] =&gt;电话:45687654 [5] =&gt;传真: 54478453248 [6] =&gt; [7] =&gt; .........

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