2016-07-19 10 views
2

私のコードの簡略化されたバージョンは以下の通りですが、最終的に人数に値を割り当てます(これはSQLテーブルからのものです)。私は私の多次元配列に何が間違っているのだろうかと思います。私が作っているときはすべてが連想的であるように思えますが、吐き出される配列は私が探しているものではありません。なぜなら最初のキーは距離の値ではなく、ちょうど増えていくからです。これをキーとして使用するための配列を作成するにはどうすればよいですか? (この例では、私はそこにあるどのように多くの距離を知っていないことに注意しても、それぞれの距離の人々の量ください。)Dynamicalyで生成されたPHP多次元連想配列

<?php 
$speed = array("ran", "walked"); 
$distance = array(15,10,3,5,1,2); 

foreach ($distance as $key) { 
    foreach ($speed as $secondarykey) { 
    $array[$key][$secondarykey] = "number of people"; 
    } 
} 

print_r(array_values($array)); 

unset($array); 

?> 

私は取り戻す私の配列は次のようになります。

Array 
(
[0] => Array 
    (
     [ran] => number of people 
     [walked] => number of people 
    ) 

[1] => Array 
    (
     [ran] => number of people 
     [walked] => number of people 
    ) 

[2] => Array 
    (
     [ran] => number of people 
     [walked] => number of people 
    ) 

[3] => Array 
    (
     [ran] => number of people 
     [walked] => number of people 
    ) 

[4] => Array 
    (
     [ran] => number of people 
     [walked] => number of people 
    ) 

[5] => Array 
    (
     [ran] => number of people 
     [walked] => number of people 
    ) 

) 

多次元配列がどのように機能するか分かりません。どんな助けもありがとうございます。

+2

私は、これはそれをすべて言うと思う:[「array_values()配列、数値配列とインデックスからすべての値を返します。」](http://php.net/array_values) – hsan

+0

@Lewisスミス私はかもしれませんなぜ2組の情報を保持する2つの配列があり、すべての情報を1つの多次元配列にまとめるのはなぜですか? – unixmiah

+0

@unixmiah目標は、速度配列と距離配列の両方を変数として使用して1つの多次元配列を作成することです。私はすでにこれをやっているようだが、私は配列を正しく表示していない。 –

答えて

1

変更:

print_r(array_values($array)); 

:を

print_r(array_values($array)); 

に変更

print_r($array); 

array_values()をアレイとインデックスからすべての値を返します 数値的に配列。 http://php.net/manual/en/function.array-values.php

0

アレイ全体を印刷するのではなく、値だけを出力するので、期待する出力が得られません。

print_r($array); 
0

なぜこのようにデータを形成するために多次元配列を使用しないのですか?

$speed = array("ran", "walked"); 
$distance = array(15,10,3,5,1,2); 

<?php 
$distance = array( 
         array("ran", 15,10,3,5,1,2), 
         array("walked", 10,5,2,3,0,1) 
       ); 
?> 
+0

私がデータをこのように格納していないのは、ran/walked配列とdistance配列の各交差の値を格納する必要があるからです。そうでなければ、あなたが提案していることはうまくいくでしょう。 –