2012-02-23 2 views
0

どのように配列要素をこの簡単なコードスニペットに置き換えることができませんか?配列スライスとスプライスを使用して配列要素を置き換える方法は?

<?php 

$input = array("a", "b", "c", "d", "e"); 

$replace = array_slice($input, -2, 2,true); 


echo "<pre>",print_r(array_splice($input, 0, 2,$replace)),"</pre>"; 

?> 

出力は次のように

Array 
(
    [0] => a 
    [1] => b 
) 
1 

array_spliceのためのPHPのドキュメントによると、それは

Array 
(
    [3] => d 
    [4] => e 
) 
1 

答えて

1

ちょうど行います

$input = array("a", "b", "c", "d", "e"); 

$result = array_slice($input, -2, 2, TRUE); 

var_dump($result); 

それはすでに(Demo)十分です:

array(2) { 
    [3]=> 
    string(1) "d" 
    [4]=> 
    string(1) "e" 
} 

array_slice作品substrのような配列の場合も同様です。

2

であることを期待していました:

からなる配列を返します要素を抽出しました。したがって、ab -

あなたはスプライスにより除去したものがインデックス0から始まる2つの要素でありました要素を印刷しようとしています。あなたが代わりにそれを印刷する必要があるので、

array_spliceは、元の配列を変更...

1
$input = array("a", "b", "c", "d", "e"); 

$replace = array_slice($input, -2, 2,true); 

array_splice($input, 0, 2,$replace); 

echo "<pre>"; 
print_r($input); 
echo "</pre>"; 

元の配列が変更されたので、それはですので、あなたは、スライス機能の戻り値を印刷することはできません。

関連する問題