2016-03-27 24 views
0

多次元配列で値を見つけなければならない、配列のサイズが定義されていない。多次元配列の値を見つける

echo array_column($array, 1, 0)[1601]; 

場合や:ものと想定ユーザーは1601年に入り、結果は011 になり、1605場合Zipcodeは、あなたが行うことができますユニークである場合、結果は配列

array (size=6) 
     0 => 
     array (size=2) 
      0 => string 'Zipcode' (length=7) 
      1 => string 'Territory Code' (length=14) 
     1 => 
     array (size=2) 
      0 => string '1601' (length=4) 
      1 => string '011' (length=3) 
     2 => 
     array (size=2) 
      0 => string '1602' (length=4) 
      1 => string '012' (length=3) 
     3 => 
     array (size=2) 
      0 => string '1603' (length=4) 
      1 => string '013' (length=3) 
     4 => 
     array (size=2) 
      0 => string '1604' (length=4) 
      1 => string '014' (length=3) 
     5 => 
     array (size=2) 
      0 => string '1605' (length=4) 
      1 => string '015' (length=3) 
+1

私は答えたが、どのような私を取得すると、すべてのインデックス1つの値が3つの文字が、ショーの長さが1であるということですか? – AbraCadaver

+0

@AbraCadaverこれらは、キャラクターの1/3に重み付けされた健全なキャラクターでなければなりません。 – Rizier123

+0

あなたの質問に答えがあります。しかし、私はそれがあなたの与えられた質問に基づいて正しいかどうかわかりません。 2番目のインデックスを返します。 – aldrin27

答えて

3

に応じて015になります てみようTerritory Codeは一意である:

echo array_search(1601, array_column($array, 0, 1), true); 
array_column()

作成する多次元配列から列を抽出します1次元配列。あなたに値として多次元アレイから取得する列の定義

配列array_column(配列$入力、混合の$ column_key [、混合$ index_key = NULL])

第パラメータ$column_key 1次元アレイ。そして第3のパラメータ$index_keyは、あなたが戻った1次元配列のキーとしてどの列を使用するかを定義します。 $index_keyが定義されていない場合、配列は数値で列挙されます。もし所望の​​出力011を取得キーとして値1601を使用

array(1601 => '011', 1602 => '012') 

最初のコード例

そこで最初の例は、次のような配列を抽出します。所望の出力であるキー011を取得するarray_search()1601ため

array('011' => 1601, '012' => 1602) 

を探索:

2番目のコード例は

第二の例のような配列を使用します。

は、2番目と3番目のパラメータが何のためにこれらの2つの例を参照してください:

print_r(array_column($array, 1, 0)); 
print_r(array_column($array, 0, 1)); 
+0

どこでも 'array_column()'を使わずに答えを書くことはできません。:) – Rizier123

+1

これは宝石です! :-) – AbraCadaver

+0

それは私のために働く。大変ありがとう@AbraCadaver。 –

関連する問題