- ベストアンサー
配列のキーに配列を使う場合
初歩的な事なのかもしれないのですが、 $abc = $a["$b["c"]"]; のように配列のキーに配列を使いたいのですが、上記だとエラーが出ます。 どのように記述すればよいでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- 配列を比較して同じものがあった場合にそのKEYを返す
二つの配列を比較して同じ値が入っていた場合、そのKEYを配列に入れたいと思います。 (例)$aと$bを比較して同じ値が入っているときに$aのkeyを$cに格納したい。 $a = array("","","山","","川","海","","富士山","空","",""); $b = array("川","","","","","海","","富士山","空",""); ※空白は無視したい。 この場合 $c = array("4","5","7","8"); のようにしたいと思います。 どなたか教えてください。
- ベストアンサー
- PHP
- 複数のキーで配列をソートするには?
配列が複数あって、キーを3つでソートする場合には どのようにしたらよろしいでしょうか? @a = ("A","B","C","B","A" ); @b = ("Y","X","Z","X","Z" ); @c = (4,3,5,2,1); 結果として、 A,Y,4 A,Z,1 B,X,2 B,X,3 C,Z,5 のように表示したいのですが、2次元配列でないと無理でしょうか? ちょっと分かりにくいかもしれませんが、Excelなどで、3つのキーで 優先順位を設定してソートするようなイメージです。
- ベストアンサー
- Perl
- 配列がとびとびである場合の書き方
excelの関数で(配列1,配列2)と指定するとき、配列がとびとびである場合、 =関数((B5:B6,B8:B14,B18,B20,B22:B23,B27),(C5:C6,C8:C14,C18,C20,C22:C23,C27)) このような書き方で試してみてもエラー(#Value)が返ってきてしまいます。 他に""で囲ってみましたが上手くいきませんでした。 どうすればよろしいのでしょうか? 色々調べてどうしても分からなかったのでここで質問させて下さい。
- 締切済み
- Excel(エクセル)
- スカラーを配列に変換
$abc = <<END_OF_MESSAGE; A B C END_OF_MESSAGE; これをそのまま @abc = (A, B, C) という配列にして使いたいのですが、どうすればいいのでしょうか?
- ベストアンサー
- Perl
- 多次元配列のキーをつないで文字列にする
PHP5.4の配列で仮に次のようなものがあったとします。 <?php $arr['A']['B']['C']['D'] = null; $arr['A']['B']['D']['C'] = null; $arr['A']['B']['D'] = null; それぞれのキー名をつなぎあわせてそれぞれ「A, B, C, D」「A, B, D, C」「A, B, D」といった文字列に変換したいのですが、どのようにしたら実現できるのでしょうか? よろしくお願いします。
- ベストアンサー
- PHP
- void*型の配列について
void* a[2]; void* b = a; void* c[2] = (void *[2])b; error C2440: '型キャスト' : 'void *' から 'void *[2]' に変換できません。 配列型への変換はありませんが、参照またはポインタから配列への変換があります。 void*型にした a を再度void*型の配列に戻すにはどのように記述すればよいでしょうか? 環境はXP(SP3)のVS2008 MFC です。 宜しくお願いいたします。
- ベストアンサー
- C・C++・C#
- JSで配列同士の重複チェック
いつもお世話になっております表題の通りJSで配列同士(連想配列の値)で重複した値があったらまとめて再度配列に格納したいのですが、プログラムの書き方が思いつきません、、 教えて頂けないでしょうか?? 例、イメージ) 配列A = 配列B[key1=>1,key2=>2],配列C[key1=>1,key2=>2],配列D[key1=>2,Key2=>4]; この場合処理をして返ってくる期待値は 配列A[配列B[key1=>1,key2=>2],配列D[key1=>2,key2=>4]] ※配列Cは配列Bと中身が同じなため削除された という形で帰ってきてほしいです。 少し時間が無くて完成されたサンプルコードなど教えて頂けると幸いです どうぞよろしくお願いします!
- ベストアンサー
- JavaScript
- JavaScriptの連想配列について
myArray = new Array(); myArray["A001"] = new Array(); myArray["A001"]["B001"] = "B001"; myArray["A001"]["B002"] = new Array(); myArray["A001"]["B002"]["C001"] = "C001"; myArray["A001"]["B002"]["C002"] = "C002"; myArray["A002"] = "A002"; JavaScriptの連想配列について質問させて頂きます。 例えば上記のような配列があったとして、値とキーはそのままで "C001" と "C002" の"B002"配列への格納順序だけ入れ替えたい場合、 どのように実装すればよろしいでしょうか? ちなみにキーや値はサンプルで実際にはsort出来るルールはありません。。。 ※入れ替え後のイメージ --------------------------------------------------------------------- myArray = new Array(); myArray["A001"] = new Array(); myArray["A001"]["B001"] = "B001"; myArray["A001"]["B002"] = new Array(); myArray["A001"]["B002"]["C002"] = "C002"; ←格納順序が myArray["A001"]["B002"]["C001"] = "C001"; 入れ替わった myArray["A002"] = "A002"; ---------------------------------------------------------------------
- 締切済み
- JavaScript
- 関数に配列を渡して値を変える
関数に配列を渡して値を書き換えたいのですが、文字配列である char b[10]="abc"; の書き換えが綺麗にできません。 どのように書いたら綺麗にできますか? void hen(int *a, char *b,char **c){ *a=7; b[0]='d'; b[1]='e'; b[2]='f'; //こういう書き方なら渡せるけれどb[10]="def"; 見たいな書き方で一行で値を渡す方法はないものかな? *c="jkl"; } void main (void){ int a=5; char b[10]="abc"; char *c="ghi"; hen(&a,b,&c); printf("%d %s %s\n",a,b,c); }
- ベストアンサー
- C・C++・C#
お礼
お返事ありがとうございます。 コメント頂いた通りの内容で実現出来ました。 ダブルクォーテーションやクォーテーション無しでもキー指定出来たり、ダブルクォーテーション内で中括弧が使えるのですね・・・。 今までわからない事はわからないままに、ヒアドキュメントを利用したり、$c=$b["c"]; とした後、$abc=$a["$c"];などとしていたので、大変勉強になりました。 ありがとうございます。