【お取り寄せ】 Zenken ZR-50FT ゼンケン 電磁波カット 電気足温器 冷え性 電気毛布 足元ヒーター 【楽天カード分割】【02P03Dec16】 ☆想いを込めたラッピング♪無料☆ 【暖房器具】頭寒足熱配線だから、リラックスタイムやデスクワークに最適 【膝かけ】【ひざ掛け】【送料無料】【ギフト・贈り物_送料込み iGet0130】即日発送

スマートフォン用の表示で見る
スターをつけました

引用をストックしました

引用するにはまずログインしてください

引用をストックできませんでした。再度お試しください

限定公開記事のため引用できません。

読者です 読者をやめる 読者になる 読者になる

職業訓練校のまいにち~職業訓練ではどんな授業をしているのか~

【お取り寄せ】 Zenken ZR-50FT ゼンケン 電磁波カット 電気足温器 冷え性 電気毛布 足元ヒーター 【楽天カード分割】【02P03Dec16】 ☆想いを込めたラッピング♪無料☆ 【暖房器具】頭寒足熱配線だから、リラックスタイムやデスクワークに最適 【膝かけ】【ひざ掛け】【送料無料】【ギフト・贈り物_送料込み iGet0130】即日発送

[F88705IM0P]カード払い対応!【メーカー直送のため代引不可】 AEG 食器洗い乾燥機 ビルトイン食洗機 ビルトイン ドア面材型 60cm Wローテーション洗浄 洗浄能力:15人分 食洗機 食器洗い機 海外製 AEG Electrolux フロントオープンタイプ ディープタイプ 【送料無料】 AEG 食器洗い乾燥機 F88705IM0P
【送料無料】 YDK ハンディ精米器 お米じまん (新米コシヒカリ玄米5kgサービス) 食べる分だけその都度精米。いつでも新米のうまさを食卓に。
経済的・エコ効果あり♪どこか懐かしいアンティーク扇風機! 1W レトロボックスファンミニ(1W RETORO BOXFAN MINI) RF1W-003 扇風機・サーキュレーター ハモサ(HERMOSA) 全3色(グリーン/ホワイト/ウォールナット)送料無料
ゼンケン(ZENKEN) 電磁波カット 足入れ電熱マット ZMT-50F 電気毛布 電気敷き毛布 足温器 足用 足先 足元 暖房 【送料無料】  冷える足元を芯からポカポカ♪就寝時用の足入れ電熱マット 電気毛布 足元暖房 送料無料
ユタカメイク ユタカ 滑雪シート 5.4mx5.4m 4903599084061 ユタカ 滑雪シート 5.4mx5.4m
Panasonic かんたん床暖 DC-3V4R Panasonic かんたん床暖 DC-3V4R
リンナイ ガスコンロ LAKU CIE PRIME ラクシエプライム RTE65VAGPR-13A 右強火力 都市ガス用 (12A・13A用) 標準59cm ガステーブル 水無し両面焼き ◇◆送料無料◆◇(沖縄・離島除く)お取り寄せ商品
【送料無料】デロンギ エスプレッソメーカー アイコナ ECO310BK (ブラック)
◎◆ パナソニック かんたん床暖 DC-2V4-MC [ライトベージュ] 【ホットカーペット】
【ポイント最大16倍】ツインバード マイナスイオン発生空気清浄機 パールホワイト AC-D358PW 店内全品送料無料!マイナスイオン発生空気清浄機 パールホワイト
61090 カリタ ネクストG (AG) 電動ミル (アーミーグリーン)NEXT-G Kalita コーヒーグラインダー KCG-17 NEXTG コーヒー 【送料無料】
【長期保証付】タイガー魔法瓶 SKX-A100-W(ホワイト) GRAND X(グランエックス) IHスーププロセッサー
【あす楽対応】【送料無料】シンガー コンピューターミシン DN-8DX ワイドテーブル・ハードケース付き カンタン便利で使いやすい!大人気のシンガーコンピュータミシン!手元広々ワイドテーブルと、ミシンを守るハードケース付き!
【ポイント10倍!】Stadler Form ( スタドラーフォーム ) サーキュレーター 「 Chariy fan (チャーリー ファン ) 」 リトル扇風機【2sp】【P01】【flash】
ブラウン ハンドブレンダ― 「マルチクイック」 MQ5045【納期目安:約10営業日】 【送料無料】ハンドブレンダ― 「マルチクイック」
パロマ ガスコンロ エブリシェフPA-360WHA【左強火力/プロパンガス(LPG)専用】ナチュラルホワイトプラチナカラートップ水なし両面焼グリル【代引き手数料・送料無料】【あす楽対応_関東】【沖縄県発送不可】* ☆白 ナチュラル カフェ
象印 食器乾燥機 EY-SB60 ステンレスグレー(XH) 食器かごをセットしたまま引き出せる構造でお手入れラクラク。
山善(YAMAZEN) DCモーター搭載 23cm立体首振りサーキュレーター (静音モード搭載)(リモコン)(風量8段階ボリューム調整) タイマー付 ホワイトブラック YAR-AD233(WB)
【送料無料!】エムケー精工 保冷精米機 クールエース+ミル[収納量:約10kg] PHK-10W自宅で手軽に精米したてのお米ができる!
フローリングのお部屋に最適な木目調のデザインです。
【送料無料】パナソニック 食器洗い乾燥機(食器点数45点) NP-TR9-C ベージュ (NP-TR9C NPTR9C)
【当店在庫あり!即発送!】バルミューダデザイン EJT-1100SD-WG メーカー:バルミューダデザイン 発売日:
送料無料 こたつ テーブル 長方形 北欧風 Banale バナーレ 120×80 コタツ 炬燵 火燵 ローテーブル センターテーブル オシャレ コタツローテーブル コタツテーブル こたつテーブル 一人暮らし ファミリー 家族 モダン シンプル リビングテーブル 040600632 こたつ テーブル 長方形 北欧風 バナーレ 120×80 コタツ 炬燵 火燵 ローテーブル センターテーブル オシャレ コタツローテーブル コタツテーブル こたつテーブル 一人暮らし
【送料無料】cado正規販売店cado AP-C300 AP-C310 フィルター カド カドー 空気清浄機 交換フィルター 交換 フィルター AP-C300 AP-C300 FL-C310 対応 HEPAフィルター Eclair 27畳用 [ cado 空気清浄機 交換用専用フィルター FL-C310 ] cado 空気清浄機 交換用専用フィルター FL-C310
ユアサ ミストファン 超音波振動方式 マイナスイオン発生装置搭載 風量3段階切替(弱・中・強) 2.5ℓタンク 水タンク取り出し式 ホワイト YN-M251SRWH
DeLonghi デロンギ マグニフィカS ECAM22110SBH 業務用対応型 コンパクト全自動エスプレッソマシン  [コーヒーメーカー・カプチーノ] 安心の24時間メーカーサポートあり
アイスクリーム&シャーベットマシン ミゾーノ 45PS【イタリア製】【業務用】 メーカー直送品のため、代引き決済不可
【送料無料】 パナソニック DB-R40L-D 電気かけ・しき毛布 (200×140cm) DB-R40L-D オレンジ[DBR40L]
【期間限定!エントリー不要でポイント5倍!(2017/2/9 13:00~2/17 9:59)】◎◆ パナソニック DC-1NKA1 【ホットカーペット】
【ポイント10倍 送料無料】正規販売店 ソリューション 300ml マジックボール ソリューション マジックデュー マジックムーン アンティバック 空気清浄機 空気洗浄機 空気清浄器 PM2.5 PM2.5対応 花粉 【ギフト】[ antibac2k ソリューションVer.2 300ml ]
コロナ 石油ストーブ SX-E3715Y(HD) ダークグレー 【2015年モデル】 電子点火採用でワンプッシュ点火手が汚れにくいよごれま栓4Lタンク搭載
【送料無料】 タイガー コーヒーメーカー (8杯分) ACE-S080-KQ カフェブラック[ACES080KQ]
ブルーエアー クラシック 480iシリーズ用 ニオイフィルター ブルーエア Blueair 交換部品 ブルーエア ブルーエアー クラシック 480iシリーズ用 ニオイフィルター
(♀)《あす楽》『カード対応OK!』◆即納品!三菱 喫煙用集塵・脱臭機【BP-200SF】集塵HEPAフィルター【smtb-TD】【saitama】 BP 200SF
パナソニック コーヒーメーカー NC-R400-R レッド 【送料無料】【KK9N0D18P】 代引き手数料無料・送料無料・延長保証申込可
マグニフィカS ECAM23120BN 【新品・送料無料!】 マグニフィカS ECAM23120BN
ノーリツ[NORITZ]テーブルコンロ[グリルなしタイプ]NLC2223Q3DG【送料無料】 【送料込】【NORITZ-NLC2223Q3DG】
【期間限定!エントリー不要でポイント5倍!(2017/2/9 13:00~2/17 9:59)】★MITSUBISHI / 三菱重工 roomist SHE35ND-K [ブラック] 【加湿器】【送料無料】

PHPのここをもっとちゃんと教えてよ!~その3:連想配列、配列、データ形式のタイプ別解説~

教わっておきながら、ダメ出しをしてみるこのコーナーも3回目。


書くたびに、こう説明されないと理解できない私が馬鹿なんぢゃ


自己嫌悪に陥りかけますが、実際説明するとすぐに理解してくれるので

自分を励ましつつ更新してみたいと思います。


本日のお題は配列関係です。PHPさんは特によく使うので重要ですね!

曖昧なままにしておくと割りと死ねる気がします。


説明しやすいような適当な名前をつけてみました


まず、とにもかくにも配列は繰り返し処理で楽をするためにあります。


【厳選された商品】【お取り寄せ】 Zenken ZR-50FT ゼンケン 電磁波カット 電気足温器 冷え性 電気毛布 足元ヒーター 【楽天カード分割】【02P03Dec16】 ☆想いを込めたラッピング♪無料☆ 【暖房器具】頭寒足熱配線だから、リラックスタイムやデスクワークに最適 【膝かけ】【ひざ掛け】【送料無料】【ギフト・贈り物_送料込み iGet0130】

最初は基本のおさらい。

$data = [111,222,333];
echo $data[1];

Excelだとこんなかんじ

いわゆるインデックス番号で数字を取り出せます。他店には負けません!窓下ヒーター 150cmZK-150結露防止対策に!ゼンケン正規取扱店【ポイント10倍】【送料・代引き手数料無料!】【あす楽対応品】【RCP】 楽天内初のゼンケン専門店としてのプライドと実績!サービス(アフターも)についてもお任せ下さい!、ゼンケン正規販売代理店【ゼンケン電磁波カット商品部品】3畳用ホットカーペットカバー【ZC-30K】【ZC-30J3】用 【電気ホットカーペット3畳用のカーペットカバーのみです】電気ホットカーペット本体は付いていません。、【送料無料 ※北海道・沖縄を除く】クイジナート(cuisinart)スマートスティックハンドブレンダー 白CSB-77J2BSW(ホワイト)【CSB77J2BSW】 誰でも使いこなせる簡単機能が魅力のハンディブレンダーナッツ類の粉砕やお肉のミンチ・野菜のみじん切り・生クリームの泡立て、直接お鍋の中で撹拌できるから便利。。パナソニック アルカリイオン整水器 TK‐AS44‐P (ピンク)(送料無料)、三菱電機[MITSUBISHI]業務用有圧換気扇EWG-60ETA-Q【送料無料】 【送料込】【MITSUBISHI-EWG-60ETA-Q】、YAMAMOTO マルチスピードミキサー Master Cut MM41レッド YE-MM41R、【送料無料】パナソニック 空気清浄機フィルターセット F-Z24ZS ★税込5000円以上ご注文で送料無料★、リンナイ ガスコンロ KGM64PPKR LPガス用(プロパンガス用) 右強火力 水無し片面焼グリル ◇◆送料無料◆◇、≪即納OK!≫新発売!消費電力最小3W~20Wのエコ家電!コアンダエア扇風機 EF-4948W ツインバード<節電対策> NEW!<コアンダエア扇風機>そよ風を実現!体にやさしく大好評!。【在庫あり】洗えるヒーター付き足まき毛布 【送料無料・保証付】 電気くり衿毛布 ヒーター付き足入れ毛布 洗える電気毛布 電気敷き毛布 電気足まき毛布 電気掛け敷き毛布 ヒーターマット ホットマット ★レビューで選べる特典付き★ 洗えるヒーター付き足まき毛布 電気くり襟毛布 洗える電気毛布 電気掛敷毛布 電気足入れ毛布 電気敷き毛布 ヒーターマット 電気足まき毛布、パナソニック 電気ひざ掛け 155×93cm 丸洗い可 ブラウン DC-H3-T パナソニック(Panasonic) パナソニック 電気ひざ掛け 155×93cm 丸洗い可 ブラウン DC-H3-T!キューリグ・エフィー ネオトレビエ ホワイト ★商品合計金額1800円以上送料無料★、運賃見積り 直送品 ミドリ安全 クリーンワンダー 3相200V 1.5KW WR-202TN-J 【代表画像 色/サイズ等注意】、【送料無料】アイシン ミシン リメイクパッケージ(セサミブラック:SuperJ15GYPA) アイシン精機で販売しているミシンは送料無料。パッケージ商品も販売中。、パナソニック 食器洗い乾燥機 プチ食洗 NP-TCR4-W ホワイト【送料無料】【KK9N0D18P】 水切りかごサイズの「プチ食洗」さらに食器がセットしやすく進化。

多次元配列

これを多次元と呼ぶか実はちょっと自信ありません

$data[] = [111,222,333];
$data[] = [11,22,33,44,55];


$row=行ってイメージで把握するとわかりやすいです。

foreach ($data as $row){
 echo "$row[0] $row[1] $row[2] $row[3] <br>" ;
}
//$row[3]はエラーが出ます!

縦でループ。それぞれをインデックス番号で指定してます。


列数が違うのでエラーが出ちゃってます。

対応するには2重ループです 。

foreach ($data as $row){
 foreach ($row as $col){
 echo "$col ";
 }
 echo "<br>";
}

この使い方は慣れてなければ絶対に覚えましょう。

フラット型多次元配列(csv形式)

私の勝手な名付けです。

厳密には保証されていませんが、列数(各配列の要素数)と

縦で見たときのデータ型が一致しているものをこう呼びます。


$data[] = ['Sato','21','soccer','2017-03-29'];
$data[] = ['Takahashi','31','baseball','2016-03-21'];
$data[] = ['Yamada','41','game','2015-03-21'];
foreach ($data as $row){
 echo "$row[0] さん <br>";
}
foreach ($data as $row){
 echo $row[1]+ 5 ," 歳 <br>";
}


CSVデータを扱うことは多いです。


連想配列

上の多次元配列で思うわけです。

何列目が何のデータかわかりにくい。

そんなときに連想配列。まずはおさらい。

$data = ['name'=>'Sato','age'=>'21','hobby'=>'soccer','created'=>'2017-03-29'];
echo $data['name'];

一応の注意点。

  • $data[0]では取り出せません
  • キー値はユニークとしますphpでは登録はできたりします)

フラット型多次元連想配列(データベース形式)

要するにデータベースにselectした時の返り値です。

この取り出し方がいまいちであれば、絶対に基本からやり直しましょう

むしろこれだけあれば結構なんとかなるかもしれません


$data[] = ['name'=>'Sato','age'=>'21','hobby'=>'soccer','created'=>'2017-03-29'];
$data[] = ['name'=>'Takahashi','age'=>'31','hobby'=>'baseball','created'=>'2016-03-21'];
$data[] = ['name'=>'Yamada','age'=>'41','hobby'=>'game','created'=>'2015-03-21'];
foreach ($data as $row){
 echo $row['name'],"さん<br>" ;
}

行数に関してはインデックスが使えます。

echo $data[1]['name'] //Takahasiが返ってきます。

リスト型連想配列

勝手な名称その2。これを見たら逃げてください

もしくは、他のタイプに合わせられないかを考えましょう。

どういうわけか、よく例に出される気もします。

$data = ['SQL' => ['基礎','データベース','insert']] ;
$data += ['Javascript' => ['基本構文','DOM']];
$data += ['PHP' => ['POST/GET','session','データベース操作'=>'PDO']];
echo $data['Javascript'][0];//基本構文
echo $data['PHP']['データベース操作']; //pdo

要するに最初のキー値こそ等価値。その先がぐちゃぐちゃ。

こういうのをあっさりループ出来る人はかっこいいなと思います。

プロパティ型連想配列

オブジェクトを配列に直すとこうなることが結構あります。

名称が同じでもデータとしては違う とか、そもそもキーを持ってないとかあります。

と思いきや、全く同じのもあってループに使えたりもします。

$data = ['車' => ['価格' => '1000000','重量'=> '1t', '色'=>'赤']] ;
$data += ['携帯' => ['価格' => '100000','重量'=> '400g','OS' => 'android']];
$data += ['ボールペン' => ['価格'=>'100','本数'=>'10']];
$山田さんの持ち物 = $data;
$sum = 0;
foreach ($data as $key=>$val){
 $sum += $val['価格'];
}
echo "山田さんの持ち物の総額は $sum円です。";


プロパティ型多次元連想配列

$山田さんの持ち物 = ['車' => ['価格' => '1000000','重量'=> '1t', '色'=>'赤']] ;
$山田さんの持ち物 += ['携帯' => ['価格' => '100000','重量'=> '400g','OS' => 'android']];
$山田さんの持ち物 += ['ボールペン' => ['価格'=>'100','本数'=>'10']];
$川上さんの持ち物 = ['車' => ['価格' => '500000','重量'=> '1.5t', '色'=>'白']] ;
$川上さんの持ち物 += ['携帯' => ['価格' => '90000','重量'=> '350g','OS' => 'iOS']];
$川上さんの持ち物 += ['ボールペン' => ['価格'=>'1200','本数'=>'5']];
$山川コンビの持ち物[] = $山田さんの持ち物;
$山川コンビの持ち物[] = $川上さんの持ち物;
$res = 0;
foreach ($山川コンビの持ち物 as $row){
 foreach ($row as $key => $val){
 $res += $val['価格'];
 }
}
echo "山川コンビの持ち物の総額は $res 円です。";



多次元バージョンです。どちらかというと、引っ張ってきたデータが

このタイプに該当すると判断できることが大事です。


これだけ多次元部分をシートが違うことで表現してます。

こうしておくと、オブジェクト、クラスの説明に映るときに理解が早いと思います。


はい…要するにこのプロパティ型多次元連想配列とデータベース型連想配列の違いを

感覚として理解するのに時間がかかったというおちです。


というわけで、これらを覚えればなんとかなる気がするかもしれません!

{yahoojp} {shokuren.hateblo.jp} nt02-myp02-wl-187