私はこのような配列をループで作成しようとしています:
$dataPoints = array(
array('x' => 4321, 'y' => 2364),
array('x' => 3452, 'y' => 4566),
array('x' => 1245, 'y' => 3452),
array('x' => 700, 'y' => 900),
array('x' => 900, 'y' => 700));
このコードで
$dataPoints = array();
$brands = array("COCACOLA","DellChannel","ebayfans","google",
"Microsoft","nikeplus","Amazon");
foreach ($brands as $value) {
$resp = GetTwitter($value);
$dataPoints = array(
"x"=>$resp['friends_count'],
"y"=>$resp['statuses_count']);
}
しかし、ループが完了すると、私の配列は次のようになります。
Array ( [x] => 24 [y] => 819 )
これは、各ループで$dataPoints
を新しい配列として再割り当てしているためです。
それを次のように変更します。
$dataPoints[] = array("x"=>$resp['friends_count'],"y"=>$resp ['statuses_count']);
これにより、$dataPoints
の末尾に新しい配列が追加されます
array_merge($array1,$array2)
を使用して、反復で使用する配列と最終結果を格納する配列の2つの配列を使用します。コードをチェックアウトします。
$dataPoints = array();
$dataPoint = array();
$brands = array(
"COCACOLA","DellChannel","ebayfans","google","Microsoft","nikeplus","Amazon");
foreach($brands as $value){
$resp = GetTwitter($value);
$dataPoint = array("x"=>$resp['friends_count'],"y"=>$resp ['statuses_count']);
$dataPoints = array_merge($dataPoints,$dataPoint);
}
繰り返しごとに$ dataPoints変数を上書きしていますが、配列に新しい要素を追加する必要があります...
$dataPoints[] = array("x"=>$resp['friends_count'],"y"=>$resp ['statuses_count']);