2012-06-02 28 views
5

次の配列がある場合。 $myArray[]の最後の要素には、list[]に要素を追加する最も良い方法は何でしょうか? list[]には数値インデックスが含まれています(関連付けられていない)。ありがとう!配列の最後の要素に要素を追加する

$myArray[] = array('name' => 'hello', 'list' => array()); 
+1

あなたの質問は不明です。結果がどのように表示されるかの例を投稿できますか? –

答えて

5

$ myarrayのは、あなたが配列ポインタの位置を変更するには、この方法で

array_push($myArray[count($myArray)-1]['list'], 'new element'); 

または

$myArray[count($myArray)-1]['list'][] = 'new element'; 

を連想されていない場合。

+0

はい、これはうまくいくでしょう。エンド()を使ってクリーナーソリューションがあるかどうかわからなかった – user1032531

+0

最後を使用すると、参照ではなく最後の値のコピーが得られます。したがって、値を変更しても配列には影響しません。 'end'を使用する場合は、最初にそれを呼び出す必要があります。次に、' key'を使用して最後の要素のキーを取得し、配列を変更します。 '$ myArray'がアソシエイティブでない場合は、それをしたいかもしれません。 – clentfort

+0

ありがとう!!!!!!!!!! – user1032531

4

あなたはこのようにそれを行うことができます。

$last = array_pop($myArray); // remove last element of array 
$last['list'][] = "new element"; // add element to array 
$myArray[] = $last; // add changed last element again 
+0

このようにも見えます。ありがとう – user1032531

-2

array_push機能はそれを行います。

array_push() 
+0

[PHPマニュアル](http://php.net/manual/en/function.array-push.php)の後、これは彼が使用した '$ array [] = $ var;'と同じ効果があります彼のコードはすでにあります。だから私は彼がこれを探しているとは思わない。 – noob

1
$myArray[count($myArray)-1]['list'][]="something to go in 'list' array";//this shall append 
//to the second dimension array with keyname 'list' 
+0

$ myArray [0]の代わりに、0ではなく$ myArrayの最後の要素を指す必要があります。 – user1032531

+0

ああ、私の悪いです。私の編集をチェックしてください。 –

+0

Gotcha。 clenfortと同じ解決策。ありがとう! – user1032531

0

(私の意見では)より美しい道が実際にあります:

$ref = &$myArray[]; 
$ref['list'][] = 'new item' 

あなたは$ REFを見ることができるように - $ MyArrayというの最後の要素への参照ですので、あなたが最後に変更することができます$ refを変更して要素を削除します。

関連する問題