array_splice
を使用して配列の0番目と1番目のインデックスを削除しています。最後のインデックスも削除したいと思います。配列の1番目、2番目、最後のインデックスを削除するには?
どうすればよいですか?
Array ([code] => 1 [name] => Abc [On] => 15619 [OP] => 15886 [Vac] => 31505 [Target] => 50702 [Co] => 62.14)
array_splice
を使用して配列の0番目と1番目のインデックスを削除しています。最後のインデックスも削除したいと思います。配列の1番目、2番目、最後のインデックスを削除するには?
どうすればよいですか?
Array ([code] => 1 [name] => Abc [On] => 15619 [OP] => 15886 [Vac] => 31505 [Target] => 50702 [Co] => 62.14)
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
)
これは私が持っている最も簡単な解決策です。
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つのupvotesを持っていますか? – mickmackusa
あなたはもっと短い構文を使用することができますunset()
として
unset($arr[1], $arr[2], count($arr));
致命的エラー書き込みコンテキストで関数の戻り値を使用できない – mickmackusa
答えをチェックし、assocキーを覚えておき、ここで 'count'を使用し、インデックスの最初のエントリがPHPでは' 0'ではない '1' – JustOnUnderMillions
試してみてください。この
$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
)
次のようになります。
$arr = array_slice($arr, 2, count($arr)-3, true);
'$ arr = array_slice($ arr、2、-1、true); ' –
@マークベイカーOK、thnx – JustOnUnderMillions
スプライス機能を使用して最初にしているときに2つのオプションがあります。
array_splice($arr, 0, 2);
array_splice($arr, -1);
print_r($arr);
2番目のオプションは、
$arr1 = array_splice($arr, 2, -1);
print_r($arr1);
が、それはあなたを助けることを願っていますスマートな方法で使用するスプライス機能です。
array_splice($ arr、(count($ arr)-1)、1); –
ヒント: 'array_slice(array_values($ arr)、2、count($ arr)-3);' – JustOnUnderMillions
@JustOnUnderMillionsはこれを解決策として追加します。完璧です –