質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

2213閲覧

phpの複数の配列を連想配列に組み替える方法につきまして

SugiuraY

総合スコア317

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/08/17 11:44

編集2016/08/17 11:45

いつもお世話になります。
複数の配列の取り扱いについて、一つご質問をさせてください。
現在以下の複数の配列があります。

//配列A array(25) { [0]=> string(4) "AAAA" [1]=> string(4) "BBBB" [2]=> string(4) "CCCC" [3]=> string(4) "DDDD"...以下省略 //配列B array(200) { [0]=> string(7) "100,000" [1]=> string(5) "10:00" [2]=> string(37) " +100" [3]=> string(33) "+0.10%" [4]=> string(7) "200,000" [5]=> string(8) "7,000.00" [6]=> string(6) "3.100%" [7]=> string(33) "+0.888" [8]=> string(7) "300,000" [9]=> string(5) "12:00" [10]=> string(38) " +3000" [11]=> string(33) "+ 0.88%" [12]=> string(6) "96,000" [13]=> string(8) "7,000.00" [14]=> string(6) "3.833%" [15]=> string(33) "+0.083" ...以下省略

これらについて、配列Aの要素をkeyにして配列Bの要素を規則的に振り分ける連想多次元配列に組み替えたいと考えております。イメージとしては以下の通りとなります。

array(25)( "AAAA"=> array([0]=>"100,000",[1]=>"10:00",[2]=>" +100",[3]=>"+0.10%" ,[4]=>"200,000",[5]=>"7,000.00",[6]=>"3.100%" ,[7]=>"+0.888"), "BBBB"=>...以下省略

すなわち、配列Aのそれぞれの要素をkeyにして、配列Bの[0][7]の要素を8個ずつ規則正しく入れてあげていく組み替えを行いたいと考えております。したがって、配列Aの最後の要素の"nnnn"に割り当てられる配列Bの要素は[194][200]となります。

このような配列の組み替えを実行することは可能でしょうか?
何分までこの世界に入り日が浅いため、基本的なご質問かもしれず申し訳ございませんがよろしくお願い申し上げます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

【PHP: array_combine - Manual】
http://php.net/manual/ja/function.array-combine.php

これでは?


追記:

こういう感じでしょうか。

PHP

1$array_a = []; // 略 2$array_b = []; // 略 3$res = []; 4$i = 0; 5foreach( $array_a as $k ){ 6 $res[ $k ] = array_slice( $array_b, $i, $i + 8 ); 7 $i++; 8}

【PHP: array_slice - Manual】
http://php.net/manual/ja/function.array-slice.php


追記:

PHP

1$res = array_combine( $array_a , array_chunk( $array_b, 8 ) );

【PHP: array_chunk - Manual】
http://php.net/manual/ja/function.array-chunk.php

投稿2016/08/17 11:48

編集2016/08/17 12:03
kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/08/17 11:48

あ、すいません、勘違いしました。
kei344

2016/08/17 12:01

そうですね!
SugiuraY

2016/08/17 13:20

お二方とも、ご回答いただきありがとうございました。 合わせ技ですんなり解決することができました。 深く、深く、感謝を申し上げます。 いつもteratailの皆様には助けられてばかりです(涙) よろしくお願い申し上げます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問