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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

PHP

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

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

1422閲覧

JAVAで行き詰まってるのをPHPに置き換えて考えてみる 配列

earnest_gay

総合スコア615

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

PHP

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

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2016/11/21 03:56

編集2016/11/21 04:00

PHP

1<?php 2 3/* 4 * ModelからのSELECT編 5*/ 6 7//DBのデータだとする。IMAGEカラムにはBLOB形式の画像データが入ってる想定。IMAGEカラムがNULLのレコードもある。 8$ImageModel = array( 9 'RECORD_1' => array('ID' => "1",'USER_ID' => "1",'IMAGE_ID' => "1",'IMAGE' => "MainImage") 10 ,'RECORD_2' => array('ID' => "2",'USER_ID' => "1",'IMAGE_ID' => "2",'IMAGE' => "SubImage1") 11 ,'RECORD_3' => array('ID' => "3",'USER_ID' => "1",'IMAGE_ID' => "3",'IMAGE' => "") 12 ,'RECORD_4' => array('ID' => "4",'USER_ID' => "1",'IMAGE_ID' => "4",'IMAGE' => "SubImage3") 13 ,'RECORD_5' => array('ID' => "5",'USER_ID' => "2",'IMAGE_ID' => "1",'IMAGE' => "MainImage") 14 ,'RECORD_6' => array('ID' => "6",'USER_ID' => "2",'IMAGE_ID' => "2",'IMAGE' => "") 15 ,'RECORD_7' => array('ID' => "7",'USER_ID' => "2",'IMAGE_ID' => "3",'IMAGE' => "") 16 ,'RECORD_8' => array('ID' => "8",'USER_ID' => "2",'IMAGE_ID' => "4",'IMAGE' => "SubImage3") 17 18); 19 20for($i = 1; $i <= count($ImageModel); $i++) { 21 //今回はUSER_IDが1のレコードを使いたいので該当レコードのみ抽出する 22 //WHERE句でデータ抽出するのと同じ 23 if($ImageModel['RECORD_'.$i]['USER_ID'] == 1) { 24 $target_record_blob['TARGET_RECORD_'.$i] = $ImageModel['RECORD_'.$i]; 25 } 26} 27 28/* 29 * 対象レコードから画像があるレコードだけ 30*/ 31 32for($i = 1; $i <= count($target_record_blob); $i++) { 33 34 //対象レコードからIMAGEカラムに値があるものだけ抽出 35 if($target_record_blob['TARGET_RECORD_'.$i]['IMAGE'] != NULL) { 36 37 //BLOB形式のデータをByteに変換する処理だとする 38 $target_record_byte = $target_record_blob['TARGET_RECORD_'.$i]['IMAGE']; 39 40 //byte形式からBitMapmに変換する処理だとする 41 $target_record_bitmap[] = $target_record_byte; 42 43 } 44 45} 46 47/* 48 * ImageView取得編 49*/ 50 51//表示させたいImageViewだとする 52$ImageViewMainImage = null; 53$ImageViewSubImage1 = null; 54$ImageViewSubImage2 = null; 55$ImageViewSubImage3 = null; 56$ImageViews = array( 57 $ImageViewMainImage 58 ,$ImageViewSubImage1 59 ,$ImageViewSubImage2 60 ,$ImageViewSubImage3 61); 62 63/* 64 * ImageViewセット編 65*/ 66 67//必ずある最大数は対象レコードから得た配列数ではなく、表示させるべきビューの数。 68//なので繰り返し処理は$ImageViewsが対象。 69for($i = 0; $i < count($ImageViews); $i++) { 70 //$ImageViewsに対応するBitmapをセットしていく 71 72 //$ImageViews[$i] = $target_record_bitmap[$i]; 73 74} 75 76echo "<pre>"; 77var_dump($target_record_bitmap); 78echo "</pre>"; 79echo "<pre>"; 80var_dump($ImageViews); 81echo "</pre>"; 82 83?> 84

<結果>
イメージ説明

見ての通り、対象レコードのカラムに画像がないので結果的に3つめの配列にSubImage3が入ってます。

これを画像の下の配列につめていくのですが、
このままではSubImage3がImageView2にセットされてしまいます。

どうすれば
上の画像の配列の[2]を
下の画像の配列の[3]にfor文でセットできるでしょうか?

こうすればできますと言葉だけでは理解できないので
サンプルいただけるとありがたいです。

実際にJAVAで行き詰まってる質問です

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

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

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

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

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

guest

回答1

0

自己解決

解決済です。
解決済です。
解決済です。

投稿2016/12/28 05:01

earnest_gay

総合スコア615

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問