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

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

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

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

Q&A

3回答

1180閲覧

array_key_existsを用いた条件式がうまくいきません

k.kazuki

総合スコア5

PHP

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

0グッド

1クリップ

投稿2020/03/17 20:52

編集2020/03/17 21:10

$Ins_Cという配列の要素の中に'サッカー'という単語があれば
if文内の文章を実行したいのですが出来ません。
出力すると、エラーが出るのではなく、何も表示されない状態になってしまいます。
if文を外すと動作をしますし、$Ins_Cはしっかり配列にもなっています。
他にうまくいかない原因はありますか?
どなたかお願いします。

php

1<?php 2 if ( array_key_exists('サッカー',$Ins_C) ) { 3 echo $sta; 4 echo htmlspecialchars($row['サッカー'],ENT_QUOTES,'UTF-8'); 5 echo $end;} 6 7?> 8

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

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

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

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

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

m.ts10806

2020/03/17 20:56 編集

ArrayListは https://teratail.com/tags/ArrayList ↑タグ説明にあるようにJavaの概念です。 PHP特化の質問であれば関係はありませんのでタグを外してください。
hoshi-takanori

2020/03/17 20:57

配列名は $Ins_C ですか? $row ですか? とりあえず、var_export とかで配列の中身をチェックしましょう。
guest

回答3

0

$Ins_Cの内容が提示されてないので何とも言えませんが、
array_key_exists()は第2引数に指定した配列の中に、第1引数で指定したキーが存在するかどうかをチェックするための関数です。

提示のコードで何も出力されないということは、「サッカー」というキーを$Ins_Cが持ってないんでしょう。

php

1<?php 2$a = [ 3 "a"=>1, 4 "b"=>2, 5]; 6 7if(array_key_exists('b',$a)){ 8 echo "bあるよ"; 9}else{ 10 echo "bないよ"; 11} 12echo PHP_EOL; 13if(array_key_exists('c',$a)){ 14 echo "cあるよ"; 15}else{ 16 echo "cないよ"; 17} 18//出力結果 19/** 20bあるよ 21cないよ 22**/ 23

投稿2020/03/17 21:02

m.ts10806

総合スコア80875

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

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

0

まずは

PHP

1print_r(array_keys($Ins_C));

で本当にサッカーが存在するか確認することですね。
キャラクターコードの関係でヒットしない場合もありえます

投稿2020/03/18 00:42

yambejp

総合スコア116441

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

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

0

以下で普通に出ると思いますので、配列がこの形式になっているかご確認してみてはいかがでしょうか?

php

1$sta='$sta'; 2$end='$end'; 3 4// お試しの配列はこの形式になっていますか? 5$Ins_C=['サッカー'=>'ワールドカップ','野球'=>'セリーグ']; 6$row=['サッカー'=>'ワールドカップ','野球'=>'セリーグ']; 7 8// 以下はご質問のコードと同じものです 9if ( array_key_exists('サッカー',$Ins_C) ) { 10echo $sta; 11echo htmlspecialchars($row['サッカー'],ENT_QUOTES,'UTF-8'); 12echo $end;} 13

投稿2020/03/17 21:08

hanaserebu

総合スコア8

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問