下記のコードから$notice = $data[0]['name'];の部分を変えてどうやってid,passから一致する名前だけを取り出しますか?
$data = [ ['id' => '1','pass' => '1111', 'name' => '山田'], ['id' => '2','pass' => '2222', 'name' => '田中'], ['id' => '3','pass' => '3333', 'name' => '佐藤'], ]; if (isset($_POST['id'], $_POST['pass'])){ if(empty($_POST['id']) ||empty($_POST['pass'])) { $notice = "値がどれか入ってないよ"; }elseif (array_search($_POST['id'], array_column($data, 'id')) && array_search($_POST['pass'], array_column($data, 'pass'))) { $notice = $data[0]['name']; } else{ $notice = '一致してません。'; } } print_r ($notice);
ひとつ前の質問に別途回答しています。
https://teratail.com/questions/260710#reply-374568
それで分からなければたぶんずっと分かりません。
というかかなり要件不明瞭で丸投げです。
はい、「$notice = $data[0]['name']の部分を変えて」と質問しているので別途回答は当たりません。
今回はただ一つの値を取るのではなく、他の条件を一致した値を表示したいという質問です。
「配列の見方が分かれば十分解決可能」という指摘をしています。
なので「分からなければずっと分からない」と書きました。
このパターンからどうすれば取り出せるのかは教えていただくのは不可能なのでしょうか。
配列の見方が分かれば自身でできますよ。
なんでも教えてではプログラミングできるようになりません。
考えてください。
回答2件
あなたの回答
tips
プレビュー