2017-12-30 16 views
0

アソシエート配列を作成したい場合、最初の要素が要素の(ノーマル)を指しています。アレイは次のようになります:アソシエート配列要素が通常の配列を指している(追加する)方法

[ジム] =>(23、18、20)

[メアリー] =>(57、19、26、67、103)

この例2つの要素を持ち、それぞれの最初の要素は 'name'(associativley)でインデックスされています。

これらの2つのエントリのそれぞれの2番目の要素は配列です。これらは基本的に他のデータ構造にアクセスする方法であり、これらの要素は可変数の要素を持つことができます。

私は文法を正しく理解するのに苦労しています。

私は新しい名前を追加するために来るときに、私のようにアレイに追加します...

protected $names = []; 

(たとえば、それがクラスであるよう)として全体的な配列を宣言ください:

array_push($this->authors[$givenName], array()); 

を[これは動作するようです] ...しかし、どのように私は、[$ givenName属性]は、今を指していることを配列に要素を追加するには?

私は数日間苦労しており、正しい構文を見つけることができません。

助けてください。

g

答えて

0

構文が正しいかどうかわかりません。代わりに、次を試してください:

//checking if we've initialized the data for $givenName; if not, we initialize the array before inserting 
if(!isset($this->authors[$givenName])) { 
    $this->authors[$givenName] = array(); 
} 

//insert a value into $givenName's array 
array_push($this->authors[$givenName], $some_val); 

//result is $this->authors = array($givenName => array($some_val)) 
+0

ありがとうございました!私はこのようなことを試していたが、決してその解決策には到着しなかった。 – Graham

関連する問題