Torihaji's Growth Diary

Little by little, no hurry.

PHP学習 76日目

本日の収穫

習得した知識、深まった知識

多次元配列に保存している値の取り出し方(いまさらながら。。)

<?php
// Your code here!
$array1 = array(
        '1人目' => array('苗字' =>'田中', '年齢' => 18,'性別' => '男性'),
        '2人目' =>array('苗字' =>'鈴木', '年齢' => 30,'性別' => '女性'),
        '3人目' =>array('苗字' =>'飯沼', '年齢' => 45,'性別' => '男性'),
        );
        
var_dump($array1['1人目']['苗字']);

~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出力は
string(6) "田中"
?>

出力する際に配列名['キー名'][キー名']とすれば、取り出すことができます。
自分の成果物において、$_SESSIONに保存しているデータの取り出しに悩んでいましたが、上記で解決しました。

DB設計において、男性か女性かどう判別して格納するか。

標準は男性 => 1、女性 => 2 とのこと。 数値で分けるらしい。

判別式で使用する === について

値を判定する際、両者の「型」まで合致しているかを見るこの "==="という比較演算子

$a = 1;
$b = '1';

$ans1 = $a == $b ? 'equal': 'not equal';
echo $ans1;

$ans2 = $a === $b ? 'equal' : 'not equal';
echo $ans2;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出力
$ans1 = equal
$ans2 = not equal

このように" == "と比べて、制限が緩くなります。
自分はここに気づかず、半日をつぶしました。
DBに登録した際は intだったのに対し、
get, post等でブラウザから取得してきた際はstringなんですね。。

明日への課題

本日は - ログインしているユーザが自身のアカウント情報を削除したら、そのままログアウトする処理(考えたが、わからなかった。) - ログインしているユーザが自身のアカウント情報を更新したら、DB側の情報とサーバ側に保存しているログインユーザ情報をupdateさせる処理。 に着手していました。
上でも書いたように、=== が原因で、ずっとifが通らなかったようです。
明日は、パスワード更新の処理および画面作成に取り掛かろうと思います。