pgintro.net

PHP Undefined index エラー

作成日時:2019/06/14

更新日時:2019/06/14

スポンサーリンク

この記事の確認環境

phpversion() : 7.2.7

エラー概要

連想配列から未定義のキーの要素を取得しようとすると発生します。

エラーメッセージ

PHP Notice:  Undefined index

Noticeが発生するコード例

連想配列から未定義のキーの要素を取得しようとする

<?php
$test_array = array('hoge' => 'apple', 'fuga' => 'banana');
$test = $test_array['test'];

Noticeの回避方法

isset()を使用し値が設定されていない場合は取得しないようにする

isset() - https://php.net/manual/ja/function.isset.php

<?php
$test_array = array('hoge' => 'apple', 'fuga' => 'banana');
$test = isset($test_array['test']) ? $test_array['test'] : '';

array_key_exists()を使用しキーが定義されていない場合は取得しないようにする

array_key_exists() - https://php.net/manual/ja/function.array-key-exists.php

<?php
$test_array = array('hoge' => 'apple', 'fuga' => 'banana');
$test = array_key_exists('test', $test_array) ? $test_array['test'] : 'Undef';

$_POST等のスーパーグローバル変数の場合はfilter_input()を使用する

filter_input - https://www.php.net/manual/ja/function.filter-input.php