2017-02-22 13 views
3

array_spliceを使用して配列の0番目と1番目のインデックスを削除しています。最後のインデックスも削除したいと思います。配列の1番目、2番目、最後のインデックスを削除するには?

どうすればよいですか?

Array ([code] => 1 [name] => Abc [On] => 15619 [OP] => 15886 [Vac] => 31505 [Target] => 50702 [Co] => 62.14) 
+1

array_splice($ arr、(count($ arr)-1)、1); –

+4

ヒント: 'array_slice(array_values($ arr)、2、count($ arr)-3);' – JustOnUnderMillions

+0

@JustOnUnderMillionsはこれを解決策として追加します。完璧です –

答えて

2

array_spliceしたい配列を抽出することができ、適切な構文を持つ -

array_splice($arr, 0, 2); 

は、ここに私の配列です。

$arr = [1,2,3,4,5]; 
$newArr = array_splice($arr, 2, -1); 
print_r($newArr); 
// prints 
Array 
(
    [0] => 3 
    [1] => 4 
) 
1

これは私が持っている最も簡単な解決策です。

array_pop

(PHP 4、PHP 5、PHP 7) array_pop - 配列

<?php 
$stack = array("orange", "banana", "apple", "raspberry"); 
$fruit = array_pop($stack); 
print_r($stack); 
?> 

ソースの末尾から要素をポップ:php.net/manual/en/function.array-pop.php

+2

これは単に間違っています。どのように2つのupvotesを持っていますか? – mickmackusa

1

あなたはもっと短い構文を使用することができますunset()として

unset($arr[1], $arr[2], count($arr)); 
+0

致命的エラー書き込みコンテキストで関数の戻り値を使用できない – mickmackusa

+1

答えをチェックし、assocキーを覚えておき、ここで 'count'を使用し、インデックスの最初のエントリがPHPでは' 0'ではない '1' – JustOnUnderMillions

2

試してみてください。この

 $a1 = Array ( 
      'code' => 1, 
      'name' => Abc, 
      'On' => 15619, 
      'OP' => 15886, 
      'Vac' => 31505, 
      'Target' => 50702, 
      'Co' => 62.14); 
     echo "<pre>"; 
     print_r(array_splice($a1,2,-1)); 

出力は、この単純な方法でそれを行うことができます

Array 
(
    [On] => 15619 
    [OP] => 15886 
    [Vac] => 31505 
    [Target] => 50702 
) 
2

次のようになります。

$arr = array_slice($arr, 2, count($arr)-3, true);

  • は、最初の2つのエントリをスキップするために2をオフセット
  • -3 2番目の引数は長さのためです2番目のオフセットまたは範囲でない
+2

'$ arr = array_slice($ arr、2、-1、true); ' –

+0

@マークベイカーOK、thnx – JustOnUnderMillions

2

メインアレイで2つのshift操作と1つのpop操作を使用してください。

$array = your_array(); 

array_shift($array); //remove 1st 
array_shift($array); //remove 2nd 
array_pop($array); //remove last 

print_r($array); //required array 
0

スプライス機能を使用して最初にしているときに2つのオプションがあります。

array_splice($arr, 0, 2); 
array_splice($arr, -1); 
print_r($arr); 

2番目のオプションは、

$arr1 = array_splice($arr, 2, -1); 
print_r($arr1); 

が、それはあなたを助けることを願っていますスマートな方法で使用するスプライス機能です。

関連する問題