- ベストアンサー
ExcelのVBAで配列の処理 PHPから移行する新米ですが・・・
PHPからVBAに移行を考えているのですが、VBAの考え方が難しい?わからず難儀しております。 ExcelのVBAで配列の処理を考えているのですが、以下のPHPと同じ動作をするVBAを書きたいのですが、どうすればよいのでしょうか? <?php // 配列を使って、$aを北海道、青森とする。$bは、単なる受け皿です。 // これをエクセルVBAではどのように記述するのでしょうか? $a = array(); $b = array(); array_push($a, "青森"); array_push($a, "青森"); array_push($b, array_pop($a)); array_unshift($a, "北海道"); array_unshift($a, "北海道"); array_push($b, array_shift($a)); var_dump($a); var_dump($b); exit; ?> また、PHPにはvar_dumpという便利なものがありますが、VBAでは VBEのローカルやウォッチ式で見るというのが普通でしょうか? イミディエイトにvar_dumpのように変数の内容を表示させるコマンドはあるのでしょうか?
- みんなの回答 (5)
- 専門家の回答
関連するQ&A
- 配列の抽出
PHPの配列の関数で数行程度でフィルターのような機能は可能なのでしょうか? 以下、サンプルですが血液型がAの新しい配列を作成するには、どのようにしたら良いのでしょうか? また、新しい配列でなく$matrixを血液型がAのみにする方法も知りたいです。 実際の例で示していただけましたら助かります。 <?php // 血液型(blood)がAの人のみの新しい、配列にしたい。 $agent1 = array( "blood"=>"A", "B"=> 80, "W"=> 60, "H"=> 85 ); $agent2 = array( "blood"=>"B", "B"=> 90, "W"=> 62, "H"=> 90 ); $agent3 = array( "blood"=>"O", "B"=> 78, "W"=> 56, "H"=> 80 ); $agent4 = array( "blood"=>"AB", "B"=> 81, "W"=> 59, "H"=> 83 ); $agent5 = array( "blood"=>"A", "B"=> 88, "W"=> 58, "H"=> 84 ); $matrix = array(); array_push($matrix, $agent1); array_push($matrix, $agent2); array_push($matrix, $agent3); array_push($matrix, $agent4); array_push($matrix, $agent5); var_dump($matrix); exit; ?>
- ベストアンサー
- PHP
- PHPのようにスマートに配列の配列など記述する方法が
PHPの場合、データ構造ですが以下のようになっています。 $a = array( "test1" => array( array(1,1), array("x", 2) ), "test2" => array( array(3,2), array("y", 1) ), ); これをエクセルVBAの場合、Scripting.Dictionaryを使えば連想配列が 可能ですが、PHPのようにスマートに配列の配列など記述する方法が わかりません。 Dim dic As Scripting.Dictionary set dic = New Scripting.dictionary dic.Add "test1", ???????????????? dic.Add "test2", ???????????????? スマートにデータ構造を実現できる方法が知りたいです。
- ベストアンサー
- オフィス系ソフト
- PHPの配列をjavascriptへ渡したい
PHPの配列をjavascriptの配列に渡したいのですがやり方がわかりません。 変数の渡し方ならわかるのですが配列はどう渡せばいいのでしょうか? for文を使って渡せばいいと思うんですがどうやればいいか分かりません。 <?php $filedata=file("data.txt");//javascriptに渡したい配列 ?> <script language="javascript"> var a=new Array();//PHPの配列をこの配列に入れたい </script> 何方か教えてください。
- ベストアンサー
- PHP
- 関数内での繰り返し処理の結果を配列で受け取りたい
関数内でfor文で繰り返し処理を行い、 結果を配列として返すような関数を書きたいと思っています。 function hoge(){ var a = [1,2,3,4]; for (var i=0; i < a.length; i++){ a1 = "a" + i; var arr = new Array(); arr.push(a1); } return arr; } しかし、以下のように 関数hogeの結果を変数bで受け取ってみると、 配列の最後のデータしか表示されません。 var b = hoge(); alert(b); //a3のみが表示される a0, a1, a2, a3と表示されるようにするには、 どうしたらよいでしょうか。
- 締切済み
- JavaScript
- phpのfor文の中で配列を作りたいです。
$a = array(); $a[0]="あ"; $a[1]=""; $a[2]="い"; $a[3]=""; $a[4]=""; $a[5]="う"; のような配列がありfor文の中で文字列が一文字以上だったら配列$bに入れるということをしたいのですが、 $b=array(); for($i=0; $i<count($a); $i++){ $c = mb_strlen($a[$i]); if($c>=1){ $b = $a[$i]; } } var_dump($b); とすると$bには最後の”う”しか入りません。 $bを $b[0]="あ"; $b[1]="い"; $b[2]="う"; とするようにするにはどうしたらいいですか?
- ベストアンサー
- PHP
- PHPの配列の扱い方
配列を勉強中なのですが、 よく判らなくなってしまったので教えてください。 print var_dump($aa); を実行すると array(5) { [0]=> string(2) "AE" [2]=> string(1) "C" [4]=> string(1) "F" [5]=> string(1) "N" [6]=> string(1) "Y" } とか array(2) { [27]=> string(2) "BA" [41]=> string(2) "BP" } とかかえってくる配列$aaがあるのですが、 この"AE"や"C"や"BP"など文字情報だけを見たい場合はどのように表記すればいいのでしょうか?
- ベストアンサー
- PHP
- PHP 配列
多重の質問申し訳ございません。現在配列をvar_dumpすると array(3) { [0]=> string(32) "hogehoge" [1]=> string(32) "pipyup4646" [2]=> string(9) "1000%" } array(3) { [0]=> string(32) "testtest" [1]=> string(32) "kodsaf45454” [2]=> string(9) "500%" } prinfをしましたら出力結果が array(英語,英数字,値); という形になっているみたいです。 これを[英語][英数字] = 値というのは可能でしょうか? 宜しくお願い致します。
- ベストアンサー
- PHP
- [PHP]ループ内の配列取得、表示について
質問させていただきます。 データをDBから取得しwhileで全てのデータを配列として出力しているとします。 (whileの中で出力し、3つのデータがあるため3回ループされている) 結果 array(1) { [0]=> string(5) "17:10" } array(2) { [0]=> string(5) "17:10" [1]=> string(5) "17:25" } array(3) { [0]=> string(5) "17:10" [1]=> string(5) "17:25" [2]=> string(5) "11:15" } 現在の出力内容は、 var_dump[$hoge[0]] 出力結果 string(5) "17:10" string(5) "17:10" string(5) "17:10" var_dump[$hoge[1]] 出力結果 NULL string(5) "17:25" string(5) "17:25" var_dump[$hoge[2]] 出力結果 NULL NULL string(5) "11:15" という出力になっていますが、最後のarray(3)の部分だけを抜き出したいです。 その場合はどのようにすればよいのでしょうか? -理想の結果- 利用したいのはarray(3)の部分だけ。 var_dump[$hoge[0]] "17:10" var_dump[$hoge[1]] "17:25" var_dump[$hoge[2]] "11:15" 説明不足かもしれませんが、よろしくお願いいたしますm(_ _)m
- ベストアンサー
- PHP
- PHPの配列について
PHPの配列についての質問です。 以下のソースを // == ソース == function hoge( $foo ) { $arrs['a'] = 'A'. $foo; $arrs['b'] = 'B'. $foo; $arrs['c'] = 'C'. $foo; $arrs['d'] = 'D'. $foo; } hoge( '3' ); hoge( '9' ); // == /ソース == 実行すると print_rは // == print_r == Array ( [a] => A3 [b] => B3 [c] => C3 [d] => D3 ) Array ( [a] => A9 [b] => B9 [c] => C9 [d] => D9 ) // == /print_r == のようになります。 これを 関数を実行するごとに (0から IDのような 配列を組むようにする) 以下のようにするには どのようにすればよいでしょうか? // == print_r == Array ( [0] => Array ( [a] => A3 [b] => B3 [c] => C3 [d] => D3 ) [1] => Array ( [a] => A9 [b] => B9 [c] => C9 [d] => D9 ) ) // == /print_r == 使用目的は get_contentsしたものを正規表現で取り出し 配列にする処理に使おうと思っています。
- ベストアンサー
- PHP
- PHP 配列 変換
失礼します現在配列をvar_dumpすると array(3) { [0]=> string(32) "hogehoge" [1]=> string(32) "pipyup4646" [2]=> string(9) "1000%" } array(3) { [0]=> string(32) "testtest" [1]=> string(32) "kodsaf45454” [2]=> string(9) "500%" } array(3) { [0]=> string(32) "ldkfaofpjdsa" [1]=> string(32) "fasdfasdfaf4546" [2]=> string(9) "50000%" } となっておりこれを[0][1] = [2] のように[英語][英数字] = 値のようにしたいです。 ご教授いただけると助かります。 宜しくお願い致します。
- ベストアンサー
- PHP