2012-02-11 17 views
0

私は2つの必要なのは、3つの要素だけを含む配列から最後の2つの要素を削除し、それらの2つの削除された要素を出力して、 2つの要素を削除したり、キーを保持するのに問題があります。非常に単純なPHP配列問題に問題があります

私のコードは、それが現在出力しているhttp://pastebin.com/baV4fMxs

ここにあります。Java Perlの アレイ

私は出力にそれをしたい: [ワン] => Perlと[二] => Javaの [ゼロ] => PHP

+0

あなたは私達にあなたのコード – Grexis

+0

が役立つだろう://ペーストビンを。 com/nEpMRLKk新しいコードがあります。それはそれの前に "配列"なしで配列を表示する方法はありますか? – Cfreak

+0

のhttpあった場合は、[array_pop()](http://www.php.net/manual/en/function.array-pop.php) – stytown

答えて

0

あなたがそれらの2を取得したいと私には思えます値は前に削除されています彼らを取り除く。これを念頭に置いて、私はarray_pop()の使用を提案します。これは、配列の最後の項目を同時に返し、それを配列から削除します。

$val = array_pop($my_array); 
echo $val; // Last value 
$val = array_pop($my_array); 
echo $val; // Middle value 
// Now, $my_array has only the first value 
+0

ありがとうございますが、それらを同時に保存しながら同時に削除する方法はありますか? – stytown

+0

それらを配列として使用したい場合、 '$ removed = array_splice($ my_array、-2);'は最後の2つの要素を配列として返します。 – Grexis

+0

ここに私のコードはあります:http://pastebin.com/baV4fMxsそれはJavaを出力しています Perl 配列私は出力したい[One] => Perlと[Two] => Java – stytown

0

あなたはキーを言いましたので、私はそれが連想配列だと思います。

unset ($my_array['my_key'])

削除する両方の要素のためにこれを行います。要素を除去するために、あなたはこのように、unset関数を呼び出すことができます。

2
$last=array_splice($inputarray,-1); 
//$last has now key=>value of last element 

$middle=array_splice($inputarray,-1); 
//$middle has now key=>value of middle element 

//$inputarray has now only key=>value of first element 
+0

+1は質問の最後の行を念頭に置いた唯一の答えです。 – Farray

0

array_pop非常に簡単にあなたのためにそれを行います。

$array = array('one', 'two', 'three'); 

$last = array_pop($array); echo $last . "\n"; 
$second = array_pop($array); echo $second . "\n"; 
echo $array[0]; 

出力:

three 
two 
one 

Demo

+0

@Downvoter、任意のコメント?特に私の答えは受け入れられた答えと同じですか? – nickb

+0

元の質問の最後の文章は、「私はこの2つの要素を削除するのに苦労しています。 'array_pop'はキーを保存/検索するために何もしません。私は受け入れられた答えが間違っていると思います。 – Farray

関連する問題